免费做网站,网件路由器定时重启,wordpress 文章序号,泉州网站建设公司首选公司#xff08;1#xff09;浏览器第一次跟服务器请求一个资源#xff0c;服务器在返回这个资源的同时#xff0c;在respone header加上ETag。 ETag是服务器根据当前请求的资源生成的一个唯一标识。 这个唯一标识是一个字符串#xff0c;只要资源有变化这个串就不同#xff…
1浏览器第一次跟服务器请求一个资源服务器在返回这个资源的同时在respone header加上ETag。 ETag是服务器根据当前请求的资源生成的一个唯一标识。 这个唯一标识是一个字符串只要资源有变化这个串就不同跟最后修改时间没有关系。 2浏览器再次跟服务器请求这个资源时在request header上加上If-None-Match值就是上一次请求时返回的ETag的值。
3服务器再次收到资源请求时根据浏览器传过来If-None-Match和然后再根据资源生成一个新的ETag如果这两个值相同就说明资源没有变化否则就是有变化 如果没有变化则返回304 Not Modified但是不会返回资源内容 如果有变化就正常返回资源内容。 与Last-Modified不一样的是当服务器返回304 Not Modified的响应时由于ETag重新生成过response header中还会把这个ETag返回即使这个ETag跟之前的没有变化。 如上例中所示在使用了If-None-Match之后服务器只需要很小的响应就可以达到相同的结果从而优化了性能。
协商缓存需要配合强缓存使用.
如上图有强缓存的相关Cache-Control因为如果不启用强缓存的话协商缓存根本没有意义。