2013-09-30 7 views
4

Можно ли использовать кеширование HTTP для условных запросов GET через безопасное соединение HTTPS? У меня кеширование работает над небезопасным HTTP, но когда я переключаюсь на HTTPS, браузер перестает отправлять if-none-match и if-modified-since с заголовками, поэтому кэширование прерывается. Я пробовал различные настройки Cache-Control, такие как public, max-age = 3600 и whatnot, no dice.Etags и последний-модифицированный протокол https SSL?

Это происходит как в Safari, так и в Chrome, поэтому я предполагаю, что SSL как-то его сломает. Кэширование не разрешено через SSL?

И только было ясно, сервер действительно правильно установка ETag и Last-Modified заголовки, но браузер не посылает If-None-Match и If-Modified-Since в запросе, в соответствии в инструменты разработчика Chrome.

Благодарим за помощь.

ответ

10

Понял это! Оказывается, вы должны иметь доверенный сертификат. Я использовал собственный сертификат для SSL HTTPS. Добавив его в свой брелок и превратив его в зеленый, вы сделали кеширование.

+0

Просто заметил то же самое; chrome не отправляет etags на сервер для некоторых ресурсов. Я использую свой SSL-сертификат на тестовом сайте, поэтому у него есть большой крест. Я должен добавить запись/etc/hosts и попробовать ее с производственным доменным именем. – TomWardrop

+1

Я добавил свой самозаверяющий сертификат на хром, теперь я получаю зеленый замок, но все же нет If-Modified-Since с Chrome 33 (отлично работает с FF27) - самозаверяющий сертификат все еще дает сообщение: «но не делает имеют записи аудита публичного доступа "- похоже, что хром не кэширует в случае любой ошибки SSL: https://code.google.com/p/chromium/issues/detail?id=110649 –

+0

Oof отменить это ... только что перезапустили мой хром 33, и теперь все хорошо! Так что зеленый висячий замок, даже с «не имеет записей публичного аудита», прекрасен. –

Смежные вопросы