浏览器缓存

4 阅读2分钟

1、前端优化

前端优化的核心是缓存,缓存主要是浏览器缓存,浏览器缓存时在服务器设置的,自己一直只知道在服务器设置,但是不知道怎么设置的,今天终于搞明白了

浏览器缓存的类型

强缓存

强缓存 是通过后端nginx的cache-control和expire的max-age这两个字段来决定的,expire是http1.0,cache-control是http1.1.expire后面直接加一个时间表示的是过期时间,如expire:24d,表示的是枸杞时间是24天,这个文件24天内再次请求,直接走缓存。过了24天后再走服务器确认,强缓存的核心是只要在过期时间内,都直接走缓存。强缓存的状态码是200,size中是disk cache 或者 memory cache.这些都是强缓存

协商缓存

强缓存和协商缓存可以同时存在,强缓存的优先级高于协商缓存,当强缓存不生效时,才会走协商缓存,协商缓存的核心是文件更新了,我就从服务器取最新的文件,文件没有更新,我就还用以前的缓存文件。文件是否更新通过两字段来判断Etag,Etag是每一个文件的唯一标识,还有一个字段是Last-Modified,这字段表示的是这个文件最后一次更新的时间,协商缓存,每次是去服务器进行了判断,确定更新了,才会请求最新的文件。协商缓存的状态码是304。 协商缓存判断的时候,请求头中带这两个字段 If-Modified-Since: If-None-Match:他们的值和Last-Modified、Etag一样。 看文以后如有不明白的地方欢迎私聊一起讨论