2015-09-03 2 views
0

Я вижу много сайтов, которые возвращают html-страницу без параметров кэширования в заголовке. Нет прагмы, нет контроля кеша, нет электронного тега, нет даты истечения срока действия ... ничего ... Из спецификации http 1.2 кажется, что это означает, что он может быть кэширован, но я не уверен. Кто-нибудь знает точное правило, которое управляет кешированием, если в ответе нет директив кеша?Будет ли кэшироваться HTTP-ответ без параметров кэширования http

ответ

0

Я думаю, что нашел ответ. Спецификация http 1.1 допускает сценарий, в котором отсутствуют директивы кэша. В этом случае получающий кеш может использовать алгоритм эвристического истечения. Для меня это ответ. Он кэшируется. Однако я обнаружил, что firefox и Chrome не будут кэшировать его. Я видел сообщение, в котором найден хром-источник, который устанавливает «DEFAULT_CACHE_TIME = 300», который, по моему мнению, составляет около 5 минут или, может быть, 5 мс .. Я не знаю ... Во всяком случае, мне просто нужно было знать, разрешено ли разрешение кэш для кэширования объекта, у которого не было директив кеширования.

Ниже цитата от: http://home.anadolu.edu.tr/~egermen/EEM534/Refreshment%20policies%20for%20Web%20content%20caches%20.pdf В противном случае, никакой явной свежести срок службы не обеспечивается сервером происхождения и используется эвристический: время жизни свежести присваивается быть дробным (HTTP/1.1 упоминает 10% в качестве примера) разницы во времени между меткой времени в заголовке DATE и временем , указанным заголовком LAST-MODIFIED, субъектом до максимально допустимого значения (обычно 24 часа, так как HTTP/1.1 требует, чтобы кеш должен приложите предупреждение , если используется эвристическое истечение, и возраст объекта превышает 24 часа).

Смежные вопросы