понедельник, 27 октября 2008 г.

Отключение кэширования html-страницы. Часть 1

Старая проблема - как отключить кэширование страницы в браузере, но лишний раз напомнить о ней не помешает. Итак, в html странице, нужно использовать следующие meta-тэги:

<html>
<head>
<meta http-equiv="Cache-Control" content="no-cache, no-store, max-age=0, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="Fri, 01 Jan 1990 00:00:00 GMT"/>
</head>
<body>
...
</body>
<html>

Значение параметера http-equiv должно быть названием параметра используемого непосредственно в http-заголовке. В content указываем само значение параметра. Однако это вовсе не означает, что вы увидите их в самом http-заголовке, хотя есть серваки, которые автоматически встраивают такого рода meta-тэги в http-заголовок.

Кратко об используемых параметрах:

  • Cache-Control - параметер управления кешированием страниц. Введен в HTTP 1.1.
  • Pragma - отключение кэширования страницы. Имеет единственное значение no-cache. Введен в HTTP 1.0.
  • Expires - устанавливает дату и время, после которого документ считается устаревшим. Дата должна указываться в следующем формате (на английском языке): День недели (сокр.) число (2 цифры) Месяц (сокр.) год часы:минуты:секунды GMT. Введен в HTTP 0.9

Т.к. не известно заранее какая версия HTTP-протокола будет использоваться на стороне клиента, то лучше использовать все три параметра.

3 комментария:

Vasyl Stashuk комментирует...

А работает ли такое решение под Opera ?

Никита Кокшаров комментирует...

Под Opera, я как раз и не проверял. Под IE 6, 7 и Firefox это работает.

Анонимный комментирует...

Под Оперу такое работает