通过https请求的内容仍然会被网络浏览器缓存,还是他们认为这种行为不安全?如果是这样,有没有办法告诉他们缓存是可以的?
当前回答
Https默认是缓存的。这是由一个全局设置管理的,不能被应用程序定义的缓存指令覆盖。要覆盖全局设置,请在控制面板中选择Internet选项小程序,然后转到高级选项卡。勾选“安全”部分下的“不将加密页面保存到磁盘”框,但仅使用HTTPS对IE是否决定缓存资源没有影响。
WinINet只缓存HTTP和FTP响应,不缓存HTTPS响应。 https://msdn.microsoft.com/en-us/library/windows/desktop/aa383928%28v=vs.85%29.aspx
其他回答
默认情况下,web浏览器应该在HTTPS上缓存内容,就像在HTTP上缓存内容一样,除非通过接收到的HTTP头显式地告知。
这个链接很好地介绍了如何在HTTP报头中设置缓存设置。
有办法告诉他们缓存是可以的吗?
这可以通过设置Cache-Control头中的max-age值为非零值来实现。
Cache-Control: max-age=3600
将告诉浏览器此页面可以缓存3600秒(1小时)
截至2010年,所有现代的浏览器都默认缓存HTTPS内容,除非被明确告知不这样做。
不需要设置cache-control:public来实现这种情况。
来源:Chrome, IE, Firefox。
Https默认是缓存的。这是由一个全局设置管理的,不能被应用程序定义的缓存指令覆盖。要覆盖全局设置,请在控制面板中选择Internet选项小程序,然后转到高级选项卡。勾选“安全”部分下的“不将加密页面保存到磁盘”框,但仅使用HTTPS对IE是否决定缓存资源没有影响。
WinINet只缓存HTTP和FTP响应,不缓存HTTPS响应。 https://msdn.microsoft.com/en-us/library/windows/desktop/aa383928%28v=vs.85%29.aspx
推荐文章
- 我可以把我所有的http://链接都改成//吗?
- 如何使用网络强制HTTPS。配置文件
- 摘要认证和基本认证的区别是什么?
- 浏览器会通过https缓存内容吗
- 使用.htaccess和mod_rewrite强制SSL/https
- 在尝试访问HTTPS url时,如何使用cURL处理证书?
- 在Java客户端中接受服务器的自签名ssl证书
- 在git存储库中处理密码的最佳实践是什么?
- 支付处理器-如果我想在我的网站上接受信用卡,我需要知道什么?
- 通过URL和加密传递的HTTP基本身份验证凭据
- Java HTTPS客户端证书认证
- 如何加密和解密一个PHP字符串?
- 使用80端口运行Node.js时的最佳实践(Ubuntu / Linode)
- 使用PHP进行最简单的双向加密
- 响应。用POST而不是Get重定向?