Насколько необходимо использовать «must-revalidate» в «Cache-Control: no-cache, must-revalidate» - PullRequest
7 голосов
/ 24 октября 2010

Часто я использую

Cache-Control: no-cache

или

Cache-Control: max-age=0

В спецификации сказано, что must-revalidate для max-stale ... (проблема с сервером max-stale?)

Так что, если для обычных веб-серверов, Apache или Rails с Mongrels, то я думаю, что обычно нет max-stale, поэтому must-revalidate не нужен?

1 Ответ

7 голосов
/ 26 декабря 2010

must-revalidate должны быть указаны серверами, где было бы неверно (а не просто неоптимально) для клиента, чтобы получить устаревший ответ.Это относится ко всем запросам с max-stale, как вы упомянули.Это также применимо, если кеш временно теряет связь с источником (кешу разрешено возвращать устаревшую запись с заголовком Warning в этом случае).При этом, я думаю, вы правы, что эта директива не нужна, особенно на практике;это чаще всего наблюдается в ситуации, когда источник хочет позволить клиенту кэшировать копию ресурса (для целей сохранения пропускной способности), но всегда проверять ее перед использованием, как в:

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