网站静态资源缓存原理

网站的图片(背景和图标等)、CSS、JS是静态资源,一定时间内一般不发生变化,为了减少请求浏览器会按http协议去缓存这些资源。

在第一次请求页面的时候,正常情况http头信息会返回200状态,并且包含一个expires属性,用于设定静态内容过期时间。在过期时间之前,浏览器再次载入该页面,直接显示本地缓存中的内容,而不向服务器再次请求(除非F5刷新)。如果不设置expires属性值或者已过期,则浏览器会请求服务器,判断本地缓存的静态资源与远程的是否一致,如果一致就返回304状态(Not Modified未更改),直接使用缓存不再下载。如果不一致,就会下载服务器最新的替换本地的缓存。

expires属性可以在web应用服务器中配置(IIS、Nginx、apache等)。也可以通过修改静态资源的文件名、文件路径或者css?ver=date等方式强制客户端刷新。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注