我正在使用 Internet Explorer 的WebDevHelper工具栏对我的SSL站点上的 HTTP 请求/往返进行故障排除,并注意到 IE每次触发时都会重新下载我的 CSS :hover 图像。这会导致大量的往返。
我怎样才能防止这种情况发生?
编辑: 所有静态内容都通过cache-control: public提供,因此图像、javascript 等都缓存在 Firefox 和 Chrome 中。这个问题是 IE 特有的。
我正在使用 Internet Explorer 的WebDevHelper工具栏对我的SSL站点上的 HTTP 请求/往返进行故障排除,并注意到 IE每次触发时都会重新下载我的 CSS :hover 图像。这会导致大量的往返。
我怎样才能防止这种情况发生?
编辑: 所有静态内容都通过cache-control: public提供,因此图像、javascript 等都缓存在 Firefox 和 Chrome 中。这个问题是 IE 特有的。
当然,通过 http 提供静态内容,但不要为 :hover 状态制作单独的图像。应使用适当的 css 图像精灵。通过 https 或 http,这只是一个很好的做法。有大量资源可用于创建精灵。据说 SpriteMe,[ http://spriteme.org/ ] 是一种自动化 css 图像精灵创建的尝试。
如果图像是从与您的主页不同的主机名传递的,那么您将遇到此处描述的工件:http: //blogs.msdn.com/ieinternals/archive/2010/04/21/Internet-Explorer-May -Bypass-Cache-for-Cross-Domain-HTTPS-Content.aspx
根据其他 Stackoverflow 帖子,有多个问题。FireFox 2.x 也有这个问题。但 FireFox 3.x 没有。
同样在 Internet Explorer 中,您转到工具 > Internet 选项 > 高级选项卡 > 安全部分 > 不将加密页面保存到磁盘。在 IE6、7 和 8 中默认情况下似乎未选中它。
我知道这听起来很奇怪...尝试将 url 放在不存在的东西上(404 错误)。在此之后,所有其余的图像都将被缓存。
出于安全原因,不会缓存通过 SSL 提供的内容。如果您想缓存某些内容,请通过 HTTP 提供服务。
您是否尝试过为这些类型的静态文件添加标题。
P3P: CP="CAO PSA OUR"
我知道这可以在 IE 中使用,以允许通过框架集和其他东西存储 cookie。不确定它是否适用于 HTTPS 下的静态文件。