Java 有没有什么方法可以让浏览器避免每秒都请求相同的图像?

Java 有没有什么方法可以让浏览器避免每秒都请求相同的图像?,java,jsp,google-chrome,firefox,jakarta-ee,Java,Jsp,Google Chrome,Firefox,Jakarta Ee,我的jsp页面每秒钟都会刷新一次。页面上有两个图像。一个重13 KB,另一个重4 KB。Firefox不会一次又一次地加载图像,但chrome会一次又一次地加载这两个图像。而且看起来很糟糕!有什么方法可以防止浏览器一次又一次地请求相同的图像吗?基于: 不要在这上面花太多时间。我很有信心,这是浏览器在刷新时处理iframe的行为。我通过FireFox打开代码,然后更改文件中的URL,保存,然后刷新页面。它继续重新加载原始URL(在刷新之前),然后触发onLoad函数,用新URL加载iframe 因

我的jsp页面每秒钟都会刷新一次。页面上有两个图像。一个重13 KB,另一个重4 KB。Firefox不会一次又一次地加载图像,但chrome会一次又一次地加载这两个图像。而且看起来很糟糕!有什么方法可以防止浏览器一次又一次地请求相同的图像吗?

基于:

不要在这上面花太多时间。我很有信心,这是浏览器在刷新时处理iframe的行为。我通过FireFox打开代码,然后更改文件中的URL,保存,然后刷新页面。它继续重新加载原始URL(在刷新之前),然后触发onLoad函数,用新URL加载iframe

因此,整个过程都是特定于浏览器的。如果您想进行动态刷新,您应该学习基于以下内容的AJAX:

不要在这上面花太多时间。我很有信心,这是浏览器在刷新时处理iframe的行为。我通过FireFox打开代码,然后更改文件中的URL,保存,然后刷新页面。它继续重新加载原始URL(在刷新之前),然后触发onLoad函数,用新URL加载iframe


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

,您应该设置一个适当的
过期
标题和
上次修改的
标题。发件人:

推荐

  • 为所有静态资源设置缓存头。总的来说 可缓存资源,建议使用以下设置:设置过期时间 至少一个月,最好是一年 未来。(我们更喜欢Expires而不是Cache Control:max age,因为它是 更广泛的支持。)请勿在中将其设置为超过一年 未来,因为这违反了RFC指南。如果你知道确切的时间 资源将要更改,设置较短的过期时间是可以的。 但如果你认为它“可能很快改变”,但不知道什么时候,你 应设置长过期时间并使用URL指纹(如所述 下)。积极设置缓存不会“污染”浏览器 缓存:据我们所知,所有浏览器都会根据 到最近使用最少的算法;我们不知道有任何浏览器 在清除资源之前等待资源过期

  • 将上次修改日期设置为上次更改资源的时间。 如果上次修改的日期在过去足够远, 很可能浏览器不会重新蚀刻它


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

您应该设置适当的
过期
标题和
上次修改的
标题。发件人:

推荐

  • 为所有静态资源设置缓存头。总的来说 可缓存资源,建议使用以下设置:设置过期时间 至少一个月,最好是一年 未来。(我们更喜欢Expires而不是Cache Control:max age,因为它是 更广泛的支持。)请勿在中将其设置为超过一年 未来,因为这违反了RFC指南。如果你知道确切的时间 资源将要更改,设置较短的过期时间是可以的。 但如果你认为它“可能很快改变”,但不知道什么时候,你 应设置长过期时间并使用URL指纹(如所述 下)。积极设置缓存不会“污染”浏览器 缓存:据我们所知,所有浏览器都会根据 到最近使用最少的算法;我们不知道有任何浏览器 在清除资源之前等待资源过期

  • 将上次修改日期设置为上次更改资源的时间。 如果上次修改的日期在过去足够远, 很可能浏览器不会重新蚀刻它


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

一个专业的解决方案是从另一台服务器获取媒体文件(即facebook使用fbcdn而不是www)。在专用环境中,您始终可以完全控制所有缓存机制

另一个好的解决方案是使用etag-功能(),这必须遵守mtrbean建议的https认证


最后修改日期也是一个很好的解决方案,结合使用“Pragma:no cache”。

一个专业的解决方案是从另一台服务器(即facebook使用fbcdn而不是www)获取媒体文件。在专用环境中,您始终可以完全控制所有缓存机制

另一个好的解决方案是使用etag-功能(),这必须遵守mtrbean建议的https认证


最后一次修改日期也是一个很好的解决方案,结合使用“Pragma:no cache”。

为什么不使用AJAX并只刷新所需页面的一部分?@svz我不能。javax有什么办法吗?为什么没有办法使用AJAX呢?基于这一点,它说:
不要在这方面花费太多时间。我很有信心,这是浏览器在刷新时处理iframe的行为。我通过FireFox打开代码,然后更改文件中的URL,保存,然后刷新页面。它继续重新加载原始URL(在刷新之前),然后触发onLoad函数,用新URL加载iframe。
因此整个过程都是针对浏览器的。如果您想进行动态刷新,您应该学习AJAX@saplingPro您的页面是通过HTTPS提供的吗?为图像提供服务时,您是否有适当的
缓存控制
标题?为什么不使用AJAX和刷新