Спецификация кэширования
В спецификации RFC‑2616 HTTP‑кэшированию посвящена целая глава. В ней подробно рассматривается, что означают отдельные заголовки. Давайте остановимся на ключевых моментах.
Заголовок Expires устанавливает время актуальности информации. Для ресурсов, которые не должны кэшироваться, его нужно выставлять в текущий момент (документ устаревает сразу же после получения), для форсирования кэширования его можно определять на достаточно далекую дату в будущем, например:
Expires: Mon, 13 Oct 2019 00:00:00 GMT
Cache‑Control определяет набор директив, относящихся непосредственно ко времени и специфике кэширования документа. Для запрета кэширования можно выставить его следующим образом:
Cache‑Control: no‑store, no‑cache, must‑revalidate
Если же мы, наоборот, хотим положить ресурс в кэш браузера на достаточно продолжительный период времени, то стоит воспользоваться такой конструкцией:
Cache‑Control: max‑age=31536000
в данном случае срок кэширования примерно равен году (60 * 60 *24 * 365 секунд).
Директива Pragma: no‑cache используется для протокола HTTP/1.0. На данный момент можно с полным правом считать ее устаревшей конструкцией. Однако, для корректного запрета кэширования стоит все же выставлять и этот заголовок – никогда не знаешь наверняка, какой еще пользовательский агент обратится к серверу и какой протокол он будет использовать. Например, wget просто не поддерживает HTTP/1.1 (из‑за Content‑Encoding: chunked).
Дата добавления: 2015-05-19; просмотров: 833;