У меня беспорядок с этим заголовком, я читал, что Cache-Control: must-revalidate
обязывает проверять все запросы к источнику перед обслуживанием кэшированного элемента, но только несвежие? или все неважно, несвежие или свежие? Я читал обе вещи в разных местах.
В чем разница с Cache-Control: no-cache
? Потому что эти заголовки мне кажутся эквивалентными.
ОБНОВЛЕНИЕ 1: Я прочитал это из книги:
Cache-Control: must-revalidate
заголовок ответа сообщает кешу об обходе механизмы вычисления свежести и повторная проверка при каждом доступе :
@Peter O. указал на то, что говорится в RFC. Итак, эта старая книга неверна.
ОБНОВЛЕНИЕ 2: В этом руководстве: http://www.mnot.net/cache_docs/
no-cache
- заставляет кеши отправлять запрос на исходный сервер {{ 1}} для проверки перед выпуском кэшированной копии каждый раз. Это полезно для обеспечения соблюдения аутентификации (в сочетании с общедоступной) или для сохранения строгой актуальности без ущерба для всех преимуществ кэширования.
must-revalidate
- сообщает кешам, что они должны подчиняться любой информации о свежести, которую вы даете им о представлении. HTTP позволяет кешам обслуживать устаревшие представления при особых условиях; указав этот заголовок, вы сообщаете кешу, что вы хотите, чтобы он строго следовал вашим правилам.