Я пытаюсь заставить браузеры кэшировать ресурсы HTTPS. Я использую Снятие отпечатков пальцев MD5 метод, позволяющий долгосрочное кэширование, и у меня эта часть работает нормально.
Что не работает, так это установка Кэш-контроль заголовки в Apache.
Мой конфиг для обоих регулярный и SSL vhost содержит:
ExpiresActive On
ExpiresByType text/css "now plus 1 year"
HTTP просьба к /test.css создает заголовки:
Cache-Control: max-age=31536000
Content-Type: text/css
Date: Wed, 15 May 2013 10:33:01 GMT
Etag: "7e572-19-4dcbdc8c04529"
Expires: Thu, 15 May 2014 10:33:01 GMT
Last-Modified: Wed, 15 May 2013 08:46:21 GMT
Server: Apache/2.2.15 (Oracle)
Vary: Accept-Encoding,User-Agent
Но HTTPS запрос к тому же файлу производит заголовки:
Cache-Control: private, must-revalidate, no-cache, no-store
Content-Type: text/css
Date: Wed, 15 May 2013 10:33:58 GMT
Etag: "7e572-19-4dcbdc8c04529"
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Last-Modified: Wed, 15 May 2013 08:46:21 GMT
Server: Apache/2.2.15 (Oracle)
Vary: Accept-Encoding,User-Agent
Кстати, добавив это сразу после ExpiresByType:
Header unset Expires
Header unset Cache-Control
удаляет эти заголовки из HTTP, но не из запроса HTTPS.
Кроме того, я подтвердил, что передается любой другой установленный мной заголовок, но не заголовки, связанные с кешем, такие как Кэш-контроль или Истекает - они где-то перезаписываются.
Это нормальное поведение Apache или какой-то патч Oracle или Red Hat, направленный на безопасность?
Можно это как-нибудь отключить?
Системная информация:
OS: Oracle Linux 6.4 (RHEL 6.4 based)
Apache: 2.2.15 (from rpm)
Использовать Cache control: public directive
включить Кеширование HTTPS для Firefox.
Некоторые версии Firefox требуют, чтобы Cache control: public
заголовок должен быть установлен для того, чтобы ресурсы, отправленные через SSL, кэшировались на диске, даже если другие заголовки кэширования заданы явно. Хотя этот заголовок обычно используется для включения кэширования прокси-серверами (как описано ниже), прокси-серверы не могут кэшировать любой контент, отправленный по HTTPS, поэтому всегда безопасно установить этот заголовок для ресурсов HTTPS
Источник: https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching