第一次接触企业的项目,作为一个前端初级人员,很不理解引入的文件后面为什么要加上版本号,于是百度了一下,整合了很多资料,整理了一份比较完整的资料。
···
首先说一下浏览器的缓存
对于浏览器的缓存,许多程序员是很无奈的,每当我上线一个新项目,都要清除一下缓存,再看上线后的页面,如果不删除,那么在我的电脑里面打开的页面还是以前的样子,在我刚刚进公司的时候,就遇到了这个问题,于是我还以为是上线失败了,我就去问我们的运维,经过他的检查,我的是上线没有问题,于是在他的电脑上也面就和我的不一样,然后我清除了一下缓存,问题就解决了。所以我决定写一篇文章来说明这件事。
什么是浏览器的缓存?
简单来说,浏览器的缓存就是把一个已经请求过的Web资源,(html,css,js,images,icon)等资源,拷贝一份储存在浏览器中,当下一次请求同样的url的视乎,缓存会根据缓存机制决定直接使用缓存展示网页还是去服务器上重新请求资源,具体哪种方式在后面介绍。
为什么使用缓存:有三点:(1)减少网络的带宽消耗,
每次请求页面都会消耗带宽,过多的带宽就意味着金钱,所以使用缓存可以降低运营成本。
(2)降低服务器的压力,
使用缓存就是减少了请求服务器的次数,间接的就减小服务器的压力.
(3)减少网络延迟,加快页面的打开速度,给用户更好的体验,
因为在页面打开的时候浏览器不需要去服务器上获取资源,所以间接的就会加快页面的打开速度。
什么时候使用缓存,什么时候请求不使用缓存:
原因有许多,在这里我只简单的说几点:
缓存是有有效期的,如果超过有效期,访问同一页面的时候就会重新从服务器上获取资源,
如果页面有更新,浏览器也会重新从服务器上获取资源,
。。。。。
我们怎么避免浏览器的缓存呢?
这就回到了我们标题谈论的问题,当我们在引入的文件后面加入版本号的时候,如果这个版本号有改动的话,下次就会重新获取这个静态资源,这样做的好处是由你来控制什么时候来获取新的版本的静态资源。
当然,还有许多办法来避免浏览器缓存给我们带来的不便,更多的方法后续会更新的。。。敬请期待!!!