【问题标题】:Browser caching浏览器缓存
【发布时间】:2009-06-22 05:15:28
【问题描述】:

我正在开发一个使用大量图像的网站。我想让所有图像都存储在浏览器的缓存中直到某个指定时间。现在它存储在浏览器的缓存中。但是如果我们在浏览器中刷新页面它正在向服务器请求特定资源。服务器以 304 代码响应(未修改)。我也想避免该请求。我正在 jsp/servlet 中开发应用程序。图像希望在特定时间存储在浏览器中。如果时间到了就可以向服务器发送资源请求了。

有没有可能实现这个?任何人都可以在这方面为我提供帮助。

谢谢。

【问题讨论】:

    标签: jsp servlets


    【解决方案1】:

    当您在服务器端工作时,您无法阻止浏览器在明确要求刷新页面时检查它正在缓存的内容——这完全超出了您的控制。您可以(并且应该)声称缓存的有效期在 2099 年或之后到期,但您不能强制浏览器相信该(或任何其他)到期日期、期限——开发浏览器的程序员有他们的关于如何最好地为他们的客户服务的想法,你就是不能强迫他们。

    【讨论】:

      【解决方案2】:

      理论上,如果浏览器安装了 Gears 之类的东西,那么您可能能够将它们存储在客户端,并使用 JavaScript 而不是普通的 HTTP 加载它们 - 首先检查本地数据存储,然后返回到您的如果找不到图像,则服务器。

      但我不确定您是否可以使用 Gears 等存储二进制数据或图像。人。

      【讨论】:

        【解决方案3】:

        如果使用 Apache,您可以使用 .htaccess 文件来调整不同文件夹或文件类型的缓存和过期标头。

        http://www.askapache.com/2006/htaccess/speed-up-sites-with-htaccess-caching.html

        【讨论】:

          【解决方案4】:

          我很确定浏览器中的显式刷新会导致它重新加载所有资源,而忽略缓存过期设置。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-09-18
            • 2017-06-06
            • 2010-11-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-15
            • 2011-07-17
            相关资源
            最近更新 更多