--- title: Cache-Control slug: Web/HTTP/Headers/Cache-Control tags: - Кеширование translation_of: Web/HTTP/Headers/Cache-Control original_slug: Web/HTTP/Заголовки/Cache-Control ---
Общий заголовок Cache-Control используется для задания инструкций кеширования как для запросов, так и для ответов. Инструкции кеширования однонаправленные: заданная инструкция в запросе не подразумевает, что такая же инструкция будет указана в ответе
| Header type | {{Glossary("General header")}} | 
|---|---|
| {{Glossary("Forbidden header name")}} | нет | 
| {{Glossary("Simple response header", "CORS-safelisted response-header")}} | да | 
Инструкции не чувствительны к регистру и имеют необязательный аргумент, который может быть указан как в кавычках, так и без них. Несколько инструкций разделяются запятыми.
Стандартные инструкции Cache-Control, которые могут задаваться клиентом для HTTP запроса.
Cache-Control: max-age=<seconds> Cache-Control: max-stale[=<seconds>] Cache-Control: min-fresh=<seconds> Cache-Control: no-cache Cache-Control: no-store Cache-Control: no-transform Cache-Control: only-if-cached
Стандартные инструкции Cache-Control, которые могут задаваться сервером для HTTP ответа.
Cache-Control: must-revalidate Cache-Control: no-cache Cache-Control: no-store Cache-Control: no-transform Cache-Control: public Cache-Control: private Cache-Control: proxy-revalidate Cache-Control: max-age=<seconds> Cache-Control: s-maxage=<seconds>
Cache-ControlРасширенные инструкции Cache-Control не являются частью базовых стандартов, описывающих кеширование в HTTP. В таблице совместимости указаны браузеры, которые поддерживают расширенные инструкции.
Cache-Control: immutable Cache-Control: stale-while-revalidate=<seconds> Cache-Control: stale-if-error=<seconds>
publicprivateno-cacheonly-if-cachedmax-age=<seconds>Expires, данная инструкция является относительной по отношению ко времени запроса.s-maxage=<seconds>max-age или заголовок Expires, но применяется только для разделяемых кешей (например, прокси) и игнорируется частными кешами.max-stale[=<seconds>]min-fresh=<seconds>stale-while-revalidate=<seconds> {{experimental_inline}}stale-if-error=<seconds> {{experimental_inline}}must-revalidateproxy-revalidatemust-revalidate, но применимо только к разделяемым кешам (например, прокси) и игнорируется частными кешами.immutableIf-None-Match or If-Modified-Since) to check for updates, even when the user explicitly refreshes the page. Clients that aren't aware of this extension must ignore them as per the HTTP specification. In Firefox, immutable is only honored on https:// transactions. For more information, see also this blog post.no-storeno-transformContent-Encoding, Content-Range, Content-Type не должны изменяться прокси. Непрозрачный прокси может, например, конвертировать изображения из одного формата в другой для сохранения дискового пространства или уменьшения трафика. Инструкция no-transform запрещает это.Для выключения кеширования возможно добавить следующий заголовок к ответу. Дополнительно см. заголовки Expires и Pragma.
Cache-Control: no-cache, no-store, must-revalidate
Для файлов, которые не будут изменяться обычно возможно применить агрессивное кеширование, отослав ответ с заголовком ниже. Например, такой ответ может быть послан для изображений, файлов CSS и JavaScript. Дополнительно см. заголовок Expires.
Cache-Control: public, max-age=31536000
{{Compat}}