http缓存策略

  • 缓存什么?一般会缓存,图片、css文件、js文件这些静态文件,更新频率不高的文件
  • 为什么缓存?有效减少http请求数量,提升网站的性能。
  • 什么是http缓存策略?

  http缓存主要由两种:本地缓存和缓存协商。优先使用本地缓存,本地缓存不起作用时使用缓存协商。http缓存主要是头部信息header来决定的。

  一:什么是本地缓存?

    本地缓存有头部信息的cache-control和expires来决定。

    cache-control是个相对值常量,它有如下几个值:

  1. no-cache:表示不使用本地缓存,使用缓存协商
  2. no-store:不缓存,每次都从服务器请求数据 
  3. public:所有终端和中间的CDN都可以缓存
  4. private:只有终端浏览器可以缓存
  5. max-age:缓存的资源保存的最长时间,优先级高于expires

    本地缓存的流程如下:

    浏览器第一次请求,服务器返回带有cache-control或者expires,或者两者都有的响应头部信息。浏览器第二次请求时,服务器首先检查本地缓存的失效时间,如果没有失效,直接使用本地缓存,失效了使用缓存协商。

 二:缓存协商

    缓存协商有头部信息的last-modified/if-modified-since 和 etag/if-no-match来决定。

    1)last-modified/if-modified-since 

      通过比对资源的修改时间来决定是否使用缓存

      流程如下:

      浏览器第一次请求,服务器返回带有last-modified的响应头部信息。浏览器第二次请求时,向服务器发送if-modified-since的头部信息,服务器比较修改时间,如果时间没有改变,则使用缓存。

   2) etag/if-no-match

      通过比较文件的摘要信息来判断是否需要使用缓存

      流程类似于last-modified的流程。

posted @ 2018-03-22 13:01  LittleGirl_MyBaby  阅读(262)  评论(0编辑  收藏  举报