浏览器缓存分为强缓存和协商缓存,强缓存会直接从浏览器里面拿数据,协商缓存会先访问服务器看缓存是否过期,再决定是否从浏览器里面拿数据,返回304中缓存中读取
强缓存:HTTP/1.1通过设置Cache-Control的max-age指令的参数来设置缓存的过期时间,max-age的优先级高于Expire,但是为了兼容HTTP/1.0,实际项目中应将两个字段全设置。cache-control主流
协商缓存 :ETag/if-None-Match (w/开头的资源变化较小也命中缓存)是一串hash值,强校验; 优先级比Last-Modified/If-Modified-Since高; Last-Modified/If-Modified-Since有个1S问题,即服务端在1S内修改文件,且再次受到请求时,会错误的返回304。 etag主流