HTTP Cache-Control: Каково допустимое поведение по умолчанию, когда оно отсутствует? - PullRequest
3 голосов
/ 07 апреля 2009

Я сталкиваюсь с некоторыми проблемами с кэшированием HTTP, вызванными тем, что некоторые последующие приложения не помещают заголовки Cache-Control в данные, чувствительные ко времени. Мне нужно доказать, что это сломанная ситуация.

Имеется ли в сети какое-либо краткое заявление о допустимых или распространенных способах обработки ответов кэшами и агентами, когда заголовок Cache-Control отсутствует для HTTP 1.1? Я вижу RFC2616, но, похоже, он не содержит каких-либо нормативных или ДОЛЖНЫХ утверждений об ответах без заголовка Cache-Control.

Ответы [ 2 ]

2 голосов
/ 08 апреля 2009

Я думаю, что когда эта директива отсутствует, браузер должен определить, что он хочет сделать. (В этом случае ваш сервер может быть браузером)

Это довольно хорошее описание того, как различные браузеры решали эту проблему:

http://www.f5.com/pdf/white-papers/browser-behavior-wp.pdf

Надеюсь, это поможет.

1 голос
/ 08 февраля 2014

Нет способа узнать, что делают прокси-серверы или даже какие из них используют ваши клиенты, но если заголовок Cache-Control отсутствует, они вполне могут отправлять кэшированный результат. Что вы можете сделать, это добавить заголовок со стороны клиента (если это вариант), чтобы клиент отправил запрос на ресурс с заголовком, подобным этому: Cache-Control:no-cache

Подробнее о кешировании здесь:

https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching

А вот связанный вопрос переполнения стека:

Почему атрибут Cache-Control отправляется в заголовке запроса (клиент-сервер)?

Надеюсь, это поможет!

...