我的服务器通过HTTPS
(以及页面上的任何资源)提供页面。该页面本身来自主域:domain.com
,而其他资源(如images或css)来自以下子域:
分别为img.domain.com
和css.domain.com
。图像和css资源在响应头中具有Cache-Control,即它们应该被缓存。
问题是为什么浏览器每次打开页面时都会请求图像和css资源?
另一方面,如果所有资源都来自同一个域 - 一切都是从缓存中获取的?为什么会这样?看起来这种行为在不同的浏览器中是不一样的:在某些浏览器中我看到条件请求而在其他浏览器中 - 无条件。这种情况有没有标准?
答案 0 :(得分:0)
对于来自备用域的资源,Cache-Control是否设置为public?
这是一篇可能有帮助的古代(2009)文章 - http://blog.httpwatch.com/2009/01/15/https-performance-tuning/
我还考虑是否要从单独的主机提供CSS ...
浏览器必须进行DNS查找,并打开新的TCP连接
如果您使用相同的主机DNS查找消失,连接开销可能会消失(IE9,Chrome推测性地打开第二个连接),但您将获得HTTPS协商的开销。
我不知道没有测量的正确答案,但值得思考。