← Cloudflare Cache / cache / concepts
Поведение кеша по умолчанию
Cloudflare учитывает заголовки кеширования веб-сервера источника в следующем порядке, если не правило кеширования Edge Cache TTL переопределяет заголовки. См. Edge TTL раздел, где подробно описано поведение TTL по умолчанию.
- Cloudflare does not кешируют ресурс, если:
-
Cache-Controlзаголовок установлен вprivate,no-store,no-cache, илиmax-age=0. - Заголовок Set-Cookie существует.
- Метод HTTP-запроса отличается от
GET.
-
- Cloudflare does кешируют ресурс, если:
-
Cache-Controlзаголовок установлен вpublicиmax-ageбольше 0. -
Expiresзаголовок установлен на будущую дату.
-
Когда Origin Cache Control включен на сайте клиента с тарифом Enterprise, это означает, что Cloudflare должен строго соблюдать Cache-Control директивы, полученные от сервера источника. У клиентов на тарифах Free, Pro и Business эта функция включена по умолчанию. Список директив и поведения при включённом и отключённом Origin Cache-Control см. в Директивы Cache-Control.
Range-запросы на стороне клиента
Клиенты могут отправлять range-запросы, которые будут обслужены из кеша, с помощью Range заголовок. Учтите:
- Если ответ исходного сервера содержит
Content-Lengthзаголовка будет возвращён указанный диапазон байтов с HTTP 206 ответ. - Если ответ источника не содержит
Content-Lengthзаголовка кэш вернёт полное содержимое с ответом HTTP 200.
Request Collapsing
Если в один и тот же дата-центр Cloudflare одновременно поступает несколько запросов на один и тот же ресурс, которого нет в кэше (cache miss), Cloudflare использует блокировка кеша чтобы не отправлять дублирующие запросы на ваш источник. К источнику для получения ресурса перенаправляется только первый запрос. Остальные запросы ожидают завершения первого, после чего ответ потоковая передача ↗ всем ожидающим запросам.
Блокировка кеша (cache lock) гарантирует, что из одной точки сети Cloudflare на источник одновременно отправляется только один запрос для заданного ресурса, что предотвращает избыточную нагрузку на источник.
Расширения файлов, кешируемые по умолчанию
Cloudflare кеширует только на основе расширения файла, а не MIME-типа. По умолчанию CDN Cloudflare не кеширует HTML или JSON. Кроме того, по умолчанию Cloudflare кеширует файл robots.txt сайта.
| 7Z | CSV | GIF | MIDI | PNG | TIF | ZIP |
| AVI | DOC | GZ | MKV | PPT | TIFF | ZST |
| AVIF | DOCX | ICO | MP3 | PPTX | TTF | |
| APK | DMG | ISO | MP4 | PS | WEBM | |
| BIN | EJS | JAR | OGG | RAR | WEBP | |
| BMP | EOT | JPG | OTF | SVG | WOFF | |
| BZ2 | EPS | JPEG | SVGZ | WOFF2 | ||
| CLASS | EXE | JS | PICT | SWF | XLS | |
| CSS | FLAC | MID | PLS | TAR | XLSX |
Чтобы кешировать дополнительное содержимое, см. Cache Rules чтобы создать правило, кеширующее всё.
Edge TTL
By default, Cloudflare caches certain HTTP response codes with the following Edge Cache TTL when a cache-control директива или expires заголовок ответа отсутствует.
| Код состояния HTTP | TTL по умолчанию |
|---|---|
| 200, 206, 301 | 120m |
| 302, 303 | 20m |
| 404, 410 | 3m |
Все остальные коды состояния по умолчанию не кэшируются.
Параметры настройки и ограничения
CDN Cloudflare предоставляет несколько вариантов настройки кеша:
- Поведение кеширования для отдельных URL-адресов через Cache Rules
- Настройка кеширования с помощью Cloudflare Workers
- Уровень кэширования, TTL кэша и другие параметры можно настроить на странице Caching в панели управления Cloudflare:
Ограничения на загрузку
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Доступность | Да | Да | Да | Да |
| Максимальный размер загружаемого файла | 100 МБ | 100 МБ | 200 МБ | 500+ МБ |
Клиенты могут уменьшить Максимальный размер загружаемого файла из настроек зоны Сеть страницу.
Если требуется загрузить больший объём данных, можно разбить запросы на более мелкие части и загрузить весь ресурс через DNS-only (непроксируемая) DNS-запись или перейдите на более высокий тарифный план.
Ограничения размера для кеширования
Ограничения Cloudflare на кешируемые файлы:
- Для клиентов Free, Pro и Business лимит составляет 512 МБ.
- Для клиентов Enterprise максимальный размер кэшируемого файла по умолчанию составляет 5 ГБ. Чтобы увеличить лимит, обратитесь к своей команде по работе с клиентами.
Когда Cloudflare успешно кэширует контент?
Статус соединения между посетителями и Cloudflare может меняться, и это влияет на то, кешируется контент или нет. Если Cloudflare уже установил соединение с источником и начал получать контент, он продолжит загружать и кешировать весь контент, даже если посетитель отключится на середине. Однако если посетитель отключается до того, как источник ответит на запрос Cloudflare, контент ещё не был получен, поэтому Cloudflare не начнёт его кеширование.