INTEGRITY Документация

Использование заголовков ETag в Cloudflare

ETag headers identify whether the version of a resource cached in the browser is the same as the resource at the origin web server. A visitor's browser stores ETags. When a visitor revisits a site, the browser compares each ETag to the one it stored. Matching values cause a 304 Not-Modified HTTP ответ, указывающий, что кешированная версия ресурса актуальна. Cloudflare поддерживает как строгие, так и слабые ETags, настроенные на вашем веб-сервере источника.

Слабые ETag

Слабые заголовки ETag показывают, что закэшированный ресурс семантически эквивалентен версии на веб-сервере, но не обязательно совпадает с ней побайтово.

Строгие ETags

Строгие заголовки ETag гарантируют, что ресурс в кеше браузера и на веб-сервере идентичен побайтово. Используйте Cache Rules чтобы включить строгие заголовки ETag.

Поведение при включённой настройке Respect Strong ETags

При включении Respect Strong ETags в правиле кэширования, Cloudflare будет использовать строгую проверку заголовка ETag, чтобы убедиться, что ресурсы в кэше Cloudflare и на исходном сервере идентичны побайтово.

Однако в некоторых случаях Cloudflare преобразует строгие ETag в слабые. Например, при следующих условиях:

Сеть Cloudflare предпримет следующие действия в зависимости от accept-encoding заголовок и сжатие, используемое в ответе исходного сервера:

accept-encoding
заголовок от посетителя
Сжатие, используемое в ответе сервера-источника Действия Cloudflare
gzip, br GZIP Возврат посетителю ответа, сжатого GZIP, со строгим заголовком ETag: etag: "foobar".
gzip, br Brotli Возврат посетителю ответа, сжатого Brotli, со строгим заголовком ETag: etag: "foobar".
br GZIP Распаковать GZIP и вернуть посетителю несжатый ответ со слабым заголовком ETag: etag: W/"foobar".
gzip Brotli Распаковать Brotli и вернуть посетителю несжатый ответ со слабым заголовком ETag: etag: W/"foobar".
gzip (нет) Возврат посетителю несжатого ответа со строгим заголовком ETag: etag: "foobar".
gzip, br, zstd Zstandard Возврат посетителю ответа, сжатого zstd, со строгим заголовком ETag: etag: "foobar".
gzip, br Zstandard Распаковать zstd и вернуть посетителю ответ br со слабым заголовком ETag: etag: W/"foobar".
zstd Brotli/GZIP Распаковать zstd и вернуть посетителю ответ zstd со слабым заголовком ETag: etag: W/"foobar".

Включение Respect Strong ETags в Cloudflare автоматически отключает Rocket Loader, Email Obfuscation и Automatic HTTPS Rewrites.

Поведение при отключённой настройке Respect Strong ETags

Когда Respect Strong ETags отключён, Cloudflare сохранит строгие заголовки ETag, заданные исходным веб-сервером, если выполняются все следующие условия:

Во всех остальных случаях Cloudflare либо преобразует строгие заголовки ETag в слабые, либо удаляет строгий ETag. Например, при следующих условиях:

Сеть Cloudflare предпримет следующие действия в зависимости от accept-encoding заголовок и сжатие, используемое в ответе исходного сервера:

accept-encoding
заголовок от посетителя
Сжатие, используемое в ответе сервера-источника Действия Cloudflare
gzip, br GZIP Распаковать GZIP и вернуть посетителю ответ, сжатый Brotli (так как сжатие Brotli включено), со слабым заголовком ETag: etag: W/"foobar".
gzip, br Brotli Возврат посетителю ответа, сжатого Brotli, со строгим заголовком ETag: etag: "foobar".
br GZIP Распаковать GZIP и вернуть посетителю ответ, сжатый Brotli, со слабым заголовком ETag: etag: W/"foobar".
gzip Brotli Распаковать Brotli и вернуть посетителю ответ, сжатый GZIP, со слабым заголовком ETag: etag: W/"foobar".
gzip (нет) Сжать ответ источника с помощью GZIP и вернуть его посетителю со слабым заголовком ETag: etag: W/"foobar".
gzip, br, zstd Zstandard Возврат посетителю ответа, сжатого zstd, со строгим заголовком ETag: etag: "foobar".
gzip, br Zstandard Распаковать zstd и вернуть посетителю несжатый ответ со слабым заголовком ETag: etag: W/"foobar".
zstd Brotli Распаковать zstd и вернуть посетителю несжатый ответ со слабым заголовком ETag: etag: W/"foobar".

См. Сжатие контента, где это описано подробнее.

Важные примечания