浏览器之缓存系列--解决css或js修改后浏览器缓存不更新的问题

原文网址:浏览器之缓存系列--解决css或js修改后浏览器缓存不更新的问题_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍如何解决css或js修改后浏览器缓存不更新的问题。

浏览器默认会缓存css和js。可以将css、js等不太经常更新的文件缓存在浏览器端,这样用户每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量。

问题

css、js缓存都有一个过期时间,如果浏览器已经缓存了css、js,在缓存过期之前,浏览器从缓存中读取css和js,如果你在服务器上修改了css和js,这些更改在用户的浏览器中是不会有变化的。除非用户按了Ctrl + F5刷新了页面或者手动清空了浏览器的缓存。

一个网站的访客成千上万,回头客也会有不少,不可能在更新css后让每个访客都刷新一下缓存,就需要通过技术手段来处理。

方案1:更改文件名

缓存是通过文件名标记缓存的内容的,在你更新了网站的css文件内容后,在更换一下css的文件名就可以了。如原先html中的css调用语句如下:

css文件更新后,改一下文件名中的版本号即可:

方法2:url添加版本号

可以在加载css语句中加入个版本号(即css链接中?后面的内容)就可以了。如原先html中的css调用语句如下:

改一下css文件的版本号改成2012就可以了:

需要注意的是,部分代理缓存服务器不会缓存网址中包含 "?" 的资源,所以方法二可能会导致你原先的缓存功能失效,可以改用第一种方法。

你可能感兴趣的:(CSS,javascript,css,缓存)