Javascript 在服务器上更改时从服务器加载映像

Javascript 在服务器上更改时从服务器加载映像,javascript,node.js,Javascript,Node.js,我正在从服务器加载一个图像,我正在从服务器提供图像,如下所示 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值时,如

我正在从服务器加载一个图像,我正在从服务器提供图像,如下所示

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值时,如何从服务器而不是缓存加载图像。我必须为此做哪些必要的修改。请在这方面帮助我。

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

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

问题是你是否真的想这么做。这将导致每个连接到Web服务器的客户端再次获得该映像。只有当图像真的在不断变化时,它才有意义

可能是@TimCooper的重复,他们不想缓存,这里我想缓存,但想在服务器上更改时重新验证。有很多不同之处,我不希望每次都从服务器加载映像,希望在服务器上更改时再次加载。我想在服务器上更改时缓存重新加载的图像。您的解决方案不会在客户端缓存映像,因此每次都会重新加载。好的,这意味着服务器需要向每个客户端广播数据发生了更改。由于客户机没有意识到这一点,您需要使用服务器发送事件(SSE)或WebSockets之类的东西向所有客户机广播这样的更改。一种解决方法是按照您在客户端定义的特定时间间隔查询服务器。