当修改网站上的图片等资源时怎样避免客户缓存的问题

问题分析

最近在修改网站上的logo时候,发现修改后,浏览的时候,还是看到之前的图片,PC端多多刷新几次,显示倒是okey,可是手机端依旧是原图片。很明显是缓存的问题,但是我又不想清除手机浏览器缓存。因为客户在浏览的之前,肯定不会清除缓存啊。

问题解决办法

方法一:给图片重新命名

这是一种很笨的方法,但是又不得不说确实可以解决问题。但是每个图片命名都是之前规定好的,不宜随意改动。所以这个方案是行不通的。

方法二:给图片添加版本号

案例
 <img src="logo.png?v=1473868800" />
每次修改图片的时候,只需要改变参数v,即版本号,一般可以用修改日期的时间戳代替。
这也是大多网站目前采取的方式。
如CSDN


扩展

同理针对CSS、JS文件也是这样,不再细说。

原理分析

浏览器将资源以hash表的形式缓存起来,其key值就是资源对应的URL,当通过添加v=val改变URL的时候,浏览器就会认为是新的资源,从缓存中查找不到,便向服务器发出资源请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值