我为localhost CN创建了一个自签名SSL证书.Firefox正如预期的那样在最初抱怨之后接受此证书.然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储区之后也是如此.即使我在Chrome的HTTPS弹出窗口中单击"查看证书信息"时列出的证书已正确安装,但仍然坚持认证证书不可信.
我该怎么办才能让Chrome接受证书并停止抱怨?
背景:
Chrome开发工具列出了对Web应用程序主页的98个请求(aspx + js + css +图像).在以下请求中,状态代码200用于css/images文件.没有缓存信息,浏览器每次询问服务器是否必须更新文件.好.
在IIS 7中,我为缓存控制设置HTTP标头,为"ressources"文件夹设置为6小时.在Chrome中,使用开发工具,我可以看到标头设置正确:
Cache-Control: max-age=21600
Run Code Online (Sandbox Code Playgroud)
但是我仍然得到98个请求......我认为如果没有达到过期日期,浏览器不应该请求一个ressource,而且我期待请求数量下降...
我的应用程序使用具有有限数量请求的API从另一台服务器接收数据.数据变化很少,但即使刷新页面后也可能需要.
max-age在阅读Http Cache rfc后,我对行为有疑问.
场景:
用户代理
GET /foo
Run Code Online (Sandbox Code Playgroud)
Origin Server Response标头
cache-control: max-age=120
Run Code Online (Sandbox Code Playgroud)
服务器告诉用户代理在2分钟后应该重新验证所请求的资源.
1分钟后,用户代理发出另一个请求,指定max-age1分钟:
用户代理
cache-control: max-age=60
GET /foo
Run Code Online (Sandbox Code Playgroud)
据我所知,此请求应绕过用户代理缓存.
为什么?
虽然Origin Server告诉客户端资源应缓存2分钟,但用户代理需要一个最多1分钟的资源(max-age = 60).
从第一个开始经过1分钟和几秒钟后GET,该资源无效(从用户代理的角度来看),请求应直接进入原始服务器(或任何其他缓存层).
我对吗?是否可以从用户代理指定max-age大于零?它是否受到常见浏览器的支持/尊重?
在我工作的地方,我们有一个.NET自定义缓存机制,就像这样工作; 客户端可以指定max-age何时需要来自缓存的资源,该资源是"AT MOST"X秒.
caching ×1
certificate ×1
cookies ×1
html5 ×1
http ×1
http-caching ×1
http-headers ×1
iis ×1
javascript ×1
max-age ×1
self-signed ×1
ssl ×1
web-storage ×1