нет HTTP-заголовка «Last-Modified» -> однако кэшируется - PullRequest
6 голосов
/ 29 марта 2011

С точки зрения браузера,

Что происходит, если компонент (изображение, скрипт, таблица стилей ...) обслуживается без поля заголовка HTTP * Last-Modified ...

Однако кэшируется ли оно браузером, даже если он не сможет выполнить проверку достоверности (If-Modified-Since) в будущем из-за отсутствия информации о дате / времени?

Например:

GET /foo.png HTTP/1.1
Host: example.org
--
200 OK
Content-Type: image/png

...

Кэшируется ли foo.png?

-

Знаете ли вы какой-нибудь онлайн-сервис для обслуживания моего необработанного HTTP-ответа, который я могу написать сам для проверки того, что я спрашиваю?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 31 марта 2011

Вообще говоря, ответы могут быть кэшированы, если они явно не говорят, что не могут (например, с контролем кэша: нет хранилища).

Однако большинство кэшей не будут хранить ответы, в которых нет чего-то, на чем они могли бы основываться, например, Cache-Control, Expires или Last-Modified.

Для полных правилсм. http://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-13#section-2.1

См. http://www.mnot.net/blog/2009/02/24/unintended_caching, чтобы узнать, как это может удивить некоторых людей.

4 голосов
/ 30 марта 2011

Да , изображение может кэшироваться даже без Last-Modified заголовка ответа.

Браузер будет кэшировать изображение до истечения TTL.Вы можете установить время жизни изображения, используя соответствующие заголовки ответа, например, это установит TTL равным одному часу:

Cache-Control: max-age=3600
Date: Tue, 29 Mar 2011 20:18:17 GMT
Expires: Tue, 29 Mar 2011 21:18:17 GMT

Даже без Last-Modified в ответе браузер все еще может использоватьзаголовок Date для последующих запросов If-Modified-Since.

2 голосов
/ 18 октября 2012

Я отключил заголовок Last-Modified на большом сайте, и FF 13 не берет содержимое из кэша, хотя указывается максимальный возраст и т. Д. Содержимое без заголовка Last-Modified ВСЕГДА получает запрос 200 ok при запросе., а не 304. Так что браузер ищет его в кеше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...