Почему атрибут Cache-Control отправляется в заголовке запроса (от клиента к серверу)?
После прочтения поля Cache-Control заголовка HTTP
Я понимаю, что поле Cache-Control в заголовке ответа HTTP (от сервера к клиенту) указывает директивы для промежуточных прокси-серверов/клиентского браузера о том, как обрабатывать ответ, отправляя разные значения для поля Cache-Control - закрытый, общедоступный, без кеша или без хранения в заголовке ответа.
Но я не понимаю, почему нам нужно отправить атрибут Cache-Control в заголовок запроса (клиент на сервер)?
Ответы
Ответ 1
Cache-Control: no-cache
обычно используется в заголовке запроса (отправляется из веб-браузера на сервер) для принудительной проверки ресурса в промежуточных прокси.
Если клиент не отправляет этот запрос на сервер, промежуточные прокси возвращают копию содержимого, если он свежий (срок действия не истекал в соответствии с полями Expire
или max-age
). Cache-Control
перенаправляет эти прокси для повторной проверки копии, даже если она свежая.
Ответ 2
Клиент может отправить заголовок Cache-Control
в запросе, чтобы запросить конкретное поведение кэширования, такое как повторная аттестация, от исходного сервера и любых промежуточных прокси-серверов по пути запроса.
Ответ 3
В дополнение к вышеуказанному ответу,
Там может быть настройка, в которой реализована цепочка кеширования. В этом случае, если запрос поступает в первый кеш, где он не выполняется, он может перейти в кешированный ключ.
Таким образом, чтобы всегда получать ответ с сервера, мы включаем кеш-контроль в заголовках запросов. Это гарантирует, что ответ всегда с сервера.