Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Какой язык программирования вы используете ?

ASP
Delphi
C/C++
Basic
PHP
Pascal
Java
Другой


Результаты
Другие опросы

Всего голосов: 1968
Комментарии: 10


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



Запрет кэширования страниц, кэшируемых по умолчанию

Речь пойдет о новой версии самого популярного в настоящее время языка написания сценариев для сервера - РНР 5. Этот язык позволяет разрабатывать высокопроизводительные Web-сайты любого масштаба и любой категории сложности. Рассматриваются такие вопросы, как синтаксические конструкции языка, объектно-ориентированное программирование на РНР, работа с базами данных и графическими изображениями, а также построение WAP-содержимого. Большое внимание уделяется эффективным решениям типовых практических задач на PHP, среди которых аутентификация посетителей, шифрование данных, использование сеансов, обработка ошибок, работа с электронной почтой. Эта задача возникает для PHP-скриптов вызываемых без параметров или являющимися индексами директорий, однако формирующих данные персонально под пользователя (например на основе cookies или user agent) или работающих на основе быстро изменяющихся данных.




По спецификации HTTP/1.1 мы можем управлять следующими полями:

Expires

Задает дату истечения срока годности документа. Задание ее в прошлом определяет запрет кэш для данной страницы.

Cache-control: no-cache

Управление кэш. Значение no-cache определяет запрет кэш данной страницы. Для версии протокола HTTP/1.0 действует "Pragma: no-cache".

Last-Modified

Дата послднего изменения содержимого. Поле актуально только для статических страниц. Apache заменяет это поле значением поля Date для динамически генерируемых страниц, в том числе для страниц содержащих SSI.

На сайте www.php.net дается следующий код для запрета кеширования.

PHP - Код
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
      
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); // always modified
      
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
      
header("Pragma: no-cache"); // HTTP/1.0



Однако, я считаю, что данный заголовок избыточен. В большинстве случаев достаточно:

PHP - Код
header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");



Чтобы пометить документ как "уже устаревший" следует установить Expires равным полю Date.

PHP - Код
header("Expires: " gmdate("D, d M Y H:i:s") . " GMT");



Ну и не следует забывать, что формы, запрошенные по POST также не подлежат кэшированию.



Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры PHP Запрет кэширования страниц кэшируемых по умолчанию Эта задача возникает для PHP-скриптов вызываемых без параметров или являющимися индексами директорий однако формирующих данные персонально под пользователя например на основе cookies user agent работающих быстро изменяющихся данных По спецификации HTTP/1 мы можем управлять следующими полями Expires Задает дату истечения срока годности документа Задание ее прошлом определяет запрет кэш данной страницы Cache-control no-cache