Web-анатомия Web-анатомия Web-анатомия
Web-анатомия Web-анатомия Web-анатомия HTML CSS JScript DHTML
заголовок - CSS
кэширование


Новая версия сайта находится по адресу


wa.artel.by




Статья написана FireFalcon'ом с сохранением всех авторских прав.

Сколько раз писано и переписано о тэге <META>... Казалось бы, все! Хватит! Закрыли тему! Но нет! Ведь не все сказали! Вернее, кое-где все, но это попробуй найди еще. Потыкайся во всякие Rambler's и Яndex'ы...

Итак, поговорим о кэшировании. Собственно, для чего оно нужно всем нам, бедным пользователям интернета, как среды обитания. Сокращение трафика - вот она, польза! Ну зачем нам десять раз на день заново качать из сети первую страницу какого-нибудь поискового каталога, когда можно аккуратненько положить ее в кэш и забыть о медленной загрузке для этого сайта? Во-от, именно так и делают. Углубимся в проблему.

Всем известно, что разных версиях протоколов HTTP применяются свои директивы управления кэшированием. Cache-Control - директива протокола HTTP/1.1. А параметры у нее вот такие:

<meta http-equiv="Cache-Control" content="[no-cache], [public], [private], [no-store], [no-transform], [must-revalidate], [proxy-revalidate], [max-age=n]">

Все перечисленные атрибуты (кроме взаимоисключающих) можно перечислять через запятую. Понимаю, не все ясно, сейчас кое-что поясню.

1. Запрет на кэширование вообще (документ не будет кэшироваться ни proxy-сервером, ни браузером):

<meta http-equiv="Cache-Control" content="no-cache">

2. Документ будет кэшироваться браузером, но не будет кэшироваться proxy-сервером.

<meta http-equiv="Cache-Control" content="private">

3. Документ будет кэшироваться, даже если и не должен, вроде бы, при обычных обстоятельствах.

<meta http-equiv="Cache-Control" content="public">

4. Документ кэшируется, но не сохраняется в архиве.

<meta http-equiv="Cache-Control" content="no-store">

5. Можно прямо сказать браузеру: "Обнови-ка мне эту страницу". (В параметре max-age указано, на сколько секунд кэшируется документ). Может быть полезно при использовании PHP для програмного обновления страниц.

<meta http-equiv="Cache-Control" content="max-age=3600, must-revalidate">

6.А можно сказать это только прокси-серверу.

<meta http-equiv="Cache-Control" content="max-age=3600, proxy-revalidate">

В наследство от протокола HTTP 1.0 нам достался очень простой способ управления кэшированием, определяется директивой Pragma. Данная штука является общей директивой заголовка HTTP-сообщения в HTTP/1.0, и других значений, кроме no-cahce, не имеет:

<meta http-equiv="Pragma" content="no-cache">

В протоколе HTTP 1.1 данная директива заменена директивой Cache-Control со значением no-cache. Большинство серверов и клиентов поддерживают эту директиву и правильно ее отрабатывают.

Для запрета на кэширование иногда не достаточно применения директив управления кэшированием. Так Netscape кэширует документы или их компоненты даже при наличии директив Cache-Control и Pragma. Для того, чтобы заставить перечитать компонент страницы (он ведь получается с сервера по самостоятельному HTTP-запросу) можно установить директиву Expires.

Вот такой вот получился разговор о кэшировании. А с тэгом META мы еще встретимся. И не раз...



заголовок - CSS

Новости сайта Ссылки/только полезные ресурсы не нажимать! Пишите письма
новости

3 мая 2001. Новенькое по CSS/ Кросс-браузерность:
фишки слепого браузера


18 апреля 2001. Новенькое по CSS/ Кросс-браузерность:
не наступай на грабли


11 апреля 2001. Новый материал по HTML/ Логические тэги:
облегчаем жизнь


30 марта 2001. Ну наконец-то! Новый материал по HTML/ Favicon:
плюсы и минусы


21 марта 2001. Новый материал по CSS/ секреты CSS:
правильные стили (IV)


15 марта 2001. Новый материал по CSS/ секреты CSS:
правильные стили (III)


HTML...
"Да это ж просто! - махнешь ты рукой. - Набор тэгов!"
Хм, набор-то он набор, вот только браузеры этот набор интерпре- тируют уж очень по разному...

Кэширование:
все секреты здесь


ALT:
не все так просто


Таблицы:
рамка 1px


Таблицы:
фоновый рисунок


Favicon:
плюсы и минусы


Логические тэги:
облегчаем жизнь


 

Hosted by uCoz