Html 直接从服务器加载图像

Html 直接从服务器加载图像,html,css,caching,web,proxy,Html,Css,Caching,Web,Proxy,我有一个网页,其中大部分资产最近都发生了变化。但是当我第一次加载页面时,它会显示旧图像,但是如果我刷新页面,它会加载新图像 因此,请告诉我,当我第一次打开页面时,如何直接从服务器加载新图像 我怀疑这与缓存有关? <FilesMatch "\.(png|jpg)$"> FileETag None <ifModule mod_headers.c> Header unset ETag Header set Cache-Contro

我有一个网页,其中大部分资产最近都发生了变化。但是当我第一次加载页面时,它会显示旧图像,但是如果我刷新页面,它会加载新图像

因此,请告诉我,当我第一次打开页面时,如何直接从服务器加载新图像

我怀疑这与缓存有关?


<FilesMatch "\.(png|jpg)$">
    FileETag None
    <ifModule mod_headers.c>
        Header unset ETag
        Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
        Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    </ifModule>
</FilesMatch>
FileTag无 标题未设置ETag 标题集缓存控制“最大年龄=0,无缓存,无存储,必须重新验证” 标题集Pragma“无缓存” 标题集过期“1984年1月11日星期三05:00:00 GMT”

将其放在.htaccess文件中。

如果在图像名称后包含一个查询字符串,并在每个版本中增加值,这将使浏览器下载新资源

例如

http://www.example.com/image1.jpg?v=1
-首次发布时
http://www.example.com/image1.jpg?v=2
-在下一版本中


这也适用于样式表、JS和其他外部资源。

第一次打开页面时,将从服务器获取图像。如果您以前访问过该网站,并且图像已缓存,则只有刷新操作才能查看旧图像。这是因为您告诉浏览器首先要缓存图像…您要问的是浏览器缓存-您可以使用ctrl-f5强制重新加载,但知道这就是问题的名称,也许您可以在这里找到答案:图像被缓存。按Ctrl+F5可以将其设置为存储在全局配置文件
$version='X'
中的变量,并将其附加到资产中。@PatrickGeyer如果图像太多,则为“是”。但是我的项目我把图像分割成了一个大的。所以这对我来说也不是问题。@MungunbatEnkhbayar你用的是什么服务器?只对HTML文件有效,不适用images@Reeno哦,好的。难道不能把这样的东西放到服务器配置文件中吗?Stackoverflow会吃掉我的换行符。。。代码如下:是的,你的新编辑应该可以工作。但我认为(我不确定)只有从一开始就应用它,它才有效。既然文件已经被缓存,那么强制刷新可能是错误的。完全删除缓存会降低后续重新加载时的客户端加载时间。除非项目需要零缓存,否则最好在更改资产时刷新缓存。