From c058fa0fb22dc40ef0225b21a97578cddd0aaffa Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:05 +0100 Subject: unslug ru: move --- files/ru/web/http/headers/cache-control/index.html | 173 +++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 files/ru/web/http/headers/cache-control/index.html (limited to 'files/ru/web/http/headers/cache-control') diff --git a/files/ru/web/http/headers/cache-control/index.html b/files/ru/web/http/headers/cache-control/index.html new file mode 100644 index 0000000000..4dd0c2de68 --- /dev/null +++ b/files/ru/web/http/headers/cache-control/index.html @@ -0,0 +1,173 @@ +--- +title: Cache-Control +slug: Web/HTTP/Заголовки/Cache-Control +tags: + - Кэширование +translation_of: Web/HTTP/Headers/Cache-Control +--- +
{{HTTPSidebar}}
+ +

Общий заголовок 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>
+
+ +

Инструкции

+ +

Управление кэшированием

+ +
+
public
+
Указывает, что ответ может быть закэширован в любом кэше.
+
private
+
Указывает, что ответ предназначен для одного пользователя и не должен помещаться в разделяемый кэш. Частный кэш может хранить ресурс.
+
no-cache
+
Указывает на необходимость отправить запрос на сервер для валидации ресурса перед использованием закешированных данных.
+
only-if-cached
+
Указывает на необходимость использования только закэшированных данных. Запрос на сервер не должен посылаться.
+
+ +

Управление временем жизни

+ +
+
max-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-revalidate
+
Кэш должен проверить статус устаревших ресурсов перед их использованием. Просроченные ресурсы не должны быть использованы.
+
proxy-revalidate
+
То же самое, что must-revalidate, но применимо только к разделяемым кэшам (например, прокси) и игнорируется частными кэшами.
+
immutable
+
Indicates that the response body will not change over time. The resource, if unexpired, is unchanged on the server and therefore the client should not send a conditional revalidation for it (e.g. If-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-store
+
Кэш не должен хранить никакую информацию о запросе и ответе
+
no-transform
+
Никакие преобразования не должны применяться к ресурсу. Заголовки Content-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
+ +

Спецификация

+ + + + + + + + + + + + + + + + + + + + +
SpecificationTitle
{{RFC("7234")}}Hypertext Transfer Protocol (HTTP/1.1): Caching
{{RFC("5861")}}HTTP Cache-Control Extensions for Stale Content
{{RFC("8246")}}HTTP Immutable Responses
+ +

Совместимость браузеров

+ + + +

{{Compat("http.headers.Cache-Control")}}

+ +

См. также

+ + -- cgit v1.2.3-54-g00ecf