有什么方法可以使浏览器每秒远离请求相同的图像



每秒后我的JSP页面都会刷新。页面上有两个图像。一个重13 kb,另一个重4kb。Firefox不会一次又一次地加载图像,但是Chrome会一次又一次地加载两个图像。而且看起来很糟糕!有什么办法可以防止浏览器一次又一次地请求同一图像?

您应该设置适当的Expire标头和Last-Modified标头。来自Chrome的制造商:

建议

  • 为所有静态资源积极设置缓存标头。对全部 可缓存的资源,我们建议以下设置:设置有效期 至少一个月,最好最多一年 未来。(我们更喜欢与缓存控制:max-age的到期 受到更广泛的支持。)不要将其设置为超过一年 未来,因为这违反了RFC指南。如果您确切知道什么时候 资源将会改变,设置较短的到期是可以的。 但是,如果您认为这可能会"很快改变",但不知道什么时候 应设置长期到期并使用URL指纹打印(描述 以下)。积极设置缓存不会"污染"浏览器 caches:据我们所知,所有浏览器都清除了卡车 至少最近使用的算法;我们不知道有任何浏览器 等到资源过期,然后才清除它们。

  • 将最后修改的日期设置为最后一次更改资源的时间。 如果过去的最后修饰日期足够远,那么 浏览器的机会不会进行。

如果您在HTTPS下服务,则需要在服务器上正确签名的证书,否则Chrome不会缓存任何内容。

基于此方面:

不要花很多时间在这方面。我非常有信心,它如何处理刷新的iframe是浏览器的行为。我通过Firefox打开了代码,然后更改了文件中的URL,保存并刷新了页面。它继续重新加载原始URL(刷新之前),然后触发使用新URL加载iframe的Onload功能。

因此,整个内容都是浏览器的特定于浏览器。如果您想进行动态刷新,应该学习Ajax

专业的解决方案是从另一台服务器中获取媒体文件(即Facebook使用fbcdn而不是www),您始终可以完全控制专用环境中所有CACHING机制。p>另一个好的解决方案是使用 ETAG -Functionality(http://en.wikipedia.org/wiki/wiki/http_etag),这必须尊重https-certificatifificatifific of mtrbean建议的https-certificatific。

最后修饰的日期也是一个很好的解决方案,将其与" Pragma:no-Cache"结合使用。

最新更新