HTTP缓存原理

  http的缓存分为强制缓存和对比缓存,二者的区别在于,强制缓存只要设置的时间不过时,就能够直接拿去用,而不用向服务器再一次发送请求。而对比缓存无论缓存是否有效,都须要向服务器发送请求。浏览器

  其过程以下:缓存

                http文件缓存机制流程图

  1.  浏览器会先查询Cache-Control来判断内容是否过时,若是没有过时,直接读取浏览器缓存文件。(强制缓存)服务器

  2.  在浏览器上判断上次文件返回头中是否含有ETag,若是有则连同If-None-Match一块儿向服务器发送请求,服务器判断ETag是否失效,有效返回304读取缓存数据(对比缓                      存)。失效返回200。ETag是有服务器生成的当前资源的惟一标识,若是资源发生改变,服务器会发送一个新的Etag。blog

  3.  在浏览器端判断上次文件返回头中是否含有Last-Modified,有则连同If-Modified-Since一块儿想服务器发送请求,服务器判断Last-Modefied是有失效,有效返回304读取缓                     存数据(对比缓存),失效返回200。资源

  4.  若是ETag和Last-Modefied都没有,则直接向服务器发送请求内容。ast

相关文章
相关标签/搜索