2014-05-23 79 views
0

我加载从服务器的图像变了,我的服务从服务器相似图片下面负载图像时,在服务器

res.setHeader('Cache-Control', 'public, max-age=3600'); 
res.writeHead('200', {'Content-Type': 'image/png'}); 
res.end(data,'binary'); 

我在图片标签调用图像像下面

<img src="http://server.com/image1" /> 

但是,当image1的值在服务器更改如何从服务器加载图像而不是缓存。为此我需要做些什么必要的修改。请帮助我。

+0

可能的重复[确保所有浏览器中的网页没有被缓存](http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across -all-browsers) –

+0

@TimCooper在那里他们不想缓存,这里我想缓存但想在服务器更改时重新验证。有很多不同 – redV

回答

0

您可以通过更改标题的以下行来完成此操作。

res.setHeader('Cache-Control', 'public, max-age=0, no-cache'); 

问题是如果你真的想这样做。这将导致每个客户端连接到您的Web服务器再次获取该映像。只有图像真的在不断变化才有意义。

+0

我不想每次从服务器加载图像,在服务器更改时要重新加载。我想在服务器更改时从重新加载缓存图像。您的解决方案不会在客户端缓存图像,因此每次都会重新加载 – redV

+0

好吧,这意味着服务器需要向每个客户端广播数据发生变化。由于客户端没有意识到这一点,你需要使用诸如服务器发送事件(SSE)或WebSockets之类的东西来向所有客户端广播这样的改变。解决方法是按照您在客户端定义的特定时间间隔查询服务器。 – mgerstner

+0

噢好的.....感谢您的信息。 – redV