По умолчанию мы наследуем все заголовки, заданные на источнике (читать больше о настройках наследования заголовков).
Важно! Вы также можете задать параметры кеширования в личном кабинете.
Проверка настроек
Проверьте, какие заголовки кеширования присутствуют при запросе файла, интегрированного с CDN. Для расшифровки используйте описание заголовков ниже.
Проверка с помощью команды cURL в терминале (terminal для MacOS; cmd для WindowsOS)
1. В терминале пропишите: curl -I http://cdn.example.ru/js/intlTelInput/css/intlTelInput.css Где http://cdn.example.ru/js/intlTelInput/css/intlTelInput.css - ссылка на файл, интегрированный с CDN.
2. Вы получите такой вывод. Обратите внимание на заголовки Cache-Control,Cache, X-Cached-Since, X-ID:
HTTP/1.1 200 OK
Server: nginx/1.13.1
Date: Fri, 09 Jun 2017 12:54:24 GMT
Content-Type: image/jpeg
Content-Length: 124024
Connection: keep-alive
X-Image-Generated: 29
X-Image-Meta: 1024x768
X-Image-Read: 71
Expires: Wed, 06 Dec 2017 12:51:43 GMT
Cache-Control: max-age=15552000
Access-Control-Allow-Origin: *
Last-Modified: Sun, 01 Jan 2017 12:00:00 GMT
Cache-Control: max-age=315360000, public — время, на которое файл будет закеширован на сервере в секундах.
Cache: HIT - файл отдался из кеша CDN.
X-Cached-Since: 2017-06-09T12:51:43+00:00 — время, с которого файл находится в кеше сервера CDN.
X-ID: m9-up-e245 — сервер CDN, с которого был отдан файл.
3. Если у вас возникли подозрения, что контент не кешируется, проверьте настройки на источнике, изучите статью «Контент не кешируется» или обратитесь в техническую поддержку (support@gcorelabs.com).
Проверка с помощью инструментов разработчика в браузере
1. Откройте любой интернет-браузер (например, Google Chrome).
2. Откройте ваш сайт.
3. Нажмите кнопку F12 (откроется панель разработчика).
4. Выберитевкладку Сеть (Network).
5. Обновите страницу (клавиша F5).
6. Вы получите список всех файлов, которые были загружены с вашего сайта.
7. Найдите статический файл (напрмер: jpeg, png, img), интегрированный с CDN и нажмите на него. Для более удобного поиска можете воспользоваться фильтром в левом углу панели.
8. На вкладке «Headers» справа вы увидите заголовки, которые настроены на вашем сервере.
9. Проанализируйте их, используя описание важных заголовков ниже.
Важные заголовки
1. Проверить, откуда (с вашего сервера или с CDN-сервера) был отправлен контент, можно по значению HTTP-заголовка X-Cache:
- X-Cache: HIT — файл отдался из кеша CDN.
- X-Cache: MISS — файл был запрошен с источника.
2. Проверить, с какого сервера CDN был отправлен контент, можно по значению заголовка:
- X-ID: [m9-up-e245] - файл отдан с сервера m9-up-e245
3. Время, когда контент был закеширован на CDN-сервере, можно узнать по значению заголовка X-Cached-Since:
- X-Cached-Since: 2017-06-09T12:51:43+00:00 — время, с которого файл находится в кеше узла CDN
Поддержка заголовков
Для проверки кеширования важно понимать, какие значения заголовков кеширования поддерживаются CDN-серверами, а какие - нет.
Совместимые с CDN параметры HTTP-заголовка Cache-Control:
- Cache-Control: Max-Age — задает время жизни файла в кеше в секундах.
- Cache-Control: Public — указывает на то, что кешировать файл сможет не только конечный клиент пользователя (браузер), но и прокси-серверы, CDN-серверы и т.д.
Несовместимые с CDN параметры HTTP-заголовка Cache-Control:
- Cache-Control: Private — директива, противоположная «public» — указывает на то, что файл не должен кешироваться промежуточными прокси.
- Cache-Control: No-cache — позволяет указать, что клиент должен делать запрос на сервер каждый раз при обращении к файлу.