Будут ли веб-браузеры кэшировать контент через https


245

Будет ли контент, запрошенный по https, все еще кэшироваться веб-браузерами или они считают это небезопасным? Если это так, можно ли им сказать, что все в порядке?


Да, браузеры будут кэшировать контент через HTTPS, проверьте эту ссылку neopatel.blogspot.com/2010/02/…
Kalpesh Patel

@KalpeshPatel, это зависит от настроек пользователя . Некоторые из них отключили кэширование для всех HTTPS-страниц. Blogs.msdn.com/b/ieinternals/archive/2010/04/21/…
Pacerier

Ответы:


134

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

Эта ссылка является хорошим введением в настройку кэша в заголовках HTTP.

в любом случае, чтобы сказать им, что это нормально для кэширования?

Это может быть достигнуто путем установки max-ageзначения в Cache-Controlзаголовке в ненулевое значение, например

Cache-Control: max-age=3600

сообщит браузеру, что эту страницу можно кэшировать за 3600 секунд (1 час)


Если пользователь посетит mysite.com и загрузит style.css, когда он зайдет на mysite.com, будет ли снова запрашиваться style.css?
Франк

12
Я не уверен, что мы все здесь на одной странице. Мы говорим о том, будет ли HTTPS-контент кэшироваться по умолчанию, или спрашиваем, будет ли он кэшироваться с учетом определенных заголовков HTTP-ответа? Ссылка на учебник веб-кэширования, на который вы ссылались от Марка Ноттингема, на самом деле указывает на то, что защищенный (то есть HTTPS) или аутентифицированный контент не будет кэшироваться, если заголовок элемента управления кэшированием не указывает, что это общедоступный контент.
Эдвард Штерн

2
Наткнулся на хорошую статью: blog.httpwatch.com/2011/01/28/top-7-myths-about-https
roberkules

1
Firefox отменил требование для Cache-Control: публично несколько лет назад.
GreenReaper,

1
Это утверждение «веб-браузеры должны кэшировать контент через HTTPS» неправильно для меня. Почему они должны к этому? Плюс, пожалуйста, проверьте комментарий ниже человека из команды chromium " code.google.com/p/chromium/issues/detail?id=110649#c6 " Он говорит: "На самом деле ничего не кэшируется (в постоянном кэше)"
Теоман Шипахи

192

Начиная с 2010 года все современные современные браузеры по умолчанию кэшируют содержимое HTTPS, если явно не указано иное.

Это не требуется , чтобы установитьcache-control:public .

Источник: Chrome , IE , Firefox .


6
Затем выясняется, что общая тенденция заключается в разрешении кэширования объектов HTTPS; как правило, это хорошо, так как разработчики должны указывать браузеру вообще не кэшировать объекты, если они чувствительны к конфиденциальности, и разрешать делать это, когда это не так (например, изображения, CSS, что очень полезно для производительности, особенно по HTTPS). Спасибо за это.
MarkR

2
Это RFC-совместимый для автоматического кэширования ресурсов HTTPS без cache-control:public?
Pacerier

Браузеры @Pacerier считают RFC буквальным «запросом комментариев». чаще всего RFC изменяются, чтобы отражать то, что уже есть в браузерах.
gcb

0

Https кешируется по умолчанию. Это управляется глобальным параметром, который не может быть переопределен определяемыми приложением директивами кэша. Чтобы переопределить глобальные настройки, выберите апплет «Свойства обозревателя» на панели управления и перейдите на вкладку «Дополнительно». Установите флажок «Не сохранять зашифрованные страницы на диск» в разделе «Безопасность», но использование только HTTPS не влияет на то, решит ли IE кеширование ресурса.

WinINet кэширует только ответы HTTP и FTP, а не HTTPS. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383928%28v=vs.85%29.aspx

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.