2012-03-07 41 views
0

我是一个完整的小白来缓存和最糟糕的是,我无法控制的原因,我不能添加/修改我的响应头从我的Servlet发送(可笑的,我知道)。有没有其他办法,我可以告诉用户的浏览器缓存图像类似于典型的Last-Modified或Expires头?我听说过在jquery中做这件事的方法,但我所见过的所有事情都是jquery image pre-loading,这不是一回事。如何缓存在服务器响应发送图像,而无需添加缓存头?

+0

如果启用缓存,你不设置一个Last-Modified或Expires头,然后在第一个页面加载的元素将被下载。 1)你告诉图像是旧的浏览器或2),直到用户清除其缓存:那么,对于所有后续页面vists,该图像直到留在缓存中。此外,有数百万种不同的方式来缓存数据。 Memcache,会话变量,cookies,数据库......这些都是例子。你必须找到一个适合你的模具,然后使用它。一旦你做完了,回到这里来帮助使代码有限。 – Ohgodwhy 2012-03-07 22:57:34

+0

用户关闭浏览器时该怎么办?我很困惑,为什么它需要这么长时间才能加载我的图像。我坦率地认为这是因为我没有指定任何缓存。 – buddyp450 2012-03-07 23:01:13

+0

如果您想知道浏览器是否提供缓存中的图像,请使用chrome或Safari浏览器打开页面,并在加载后点击F12(或在页面上单击鼠标右键并选择“检查元素”)。选择“网络”选项卡并刷新页面。然后在列表中查找想要查看的图像。如果“大小”列中显示“来自缓存”,那么您知道它来自浏览器缓存。如果右边的时间轴很长,那么你知道需要很长时间才能加载该特定图像。 – koenpeters 2012-03-07 23:20:53

回答

0

改变了我的请求,从一个新的servlet,我提出这样我就可以修改/添加页眉所以干脆绕过我有问题打电话。