На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Сайтостроительство » HTML/DHTML

Кэширование и тег META

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

Всем известно, что разных версиях протоколов 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">

  7. В наследство от протокола 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.

Михаил Дубаков
Web-анатомия

Спонсор раздела

Рассылки Subscribe.ru:

Библиотека сайтостроительства - новости, статьи, обзоры
Дискуссионный лист для web-разработчиков
Подписка на MailList.Ru
Автор: NunDesign
Другие разделы
Оптимизация сайтов
Web-студии
» Новое в разделе
Web-дизайн
Web-программирование
Интернет-реклама
Раскрутка сайта
Web-графика
Flash
Adobe Photoshop
Рассылка
Инструменты вебмастера
Контент для сайта
HTML/DHTML
Управление web-проектами
CSS
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100