协商缓存 和 强制缓存

总是记不住,今天手动记录下来:

 

1.    强制缓存头: Cache-Control

      cache-control 是响应头 ,内容可以是

      Cache-Control: 'max-age=3600, public, immutable';

2.   协商缓存

      If-Modified-Since:Tue, 15 Sep 2020 11:12:11 GMT   和   Last-Modified: Tue, 15 Sep 2020 11:35:48 GMT

      构成一对,通过时间来标记

      If-None-Match:  W/"7a-17491770939"   和   ETag:  W/"69-174918ca8ed"

      构成一对,通过md5值来标记

 

如果命中强制缓存,则不会发起请求, 否则发起协商缓存。

引用一篇文章:

https://www.jianshu.com/p/9c95db596df5

 

另外平时在chrome下也能看到:

 

200 from memory cache

不访问服务器,直接读缓存,从内存中读取缓存。此时的数据时缓存到内存中的,当kill进程后,也就是浏览器关闭以后,数据将不存在。

但是这种方式只能缓存派生资源。

200 from disk cache

不访问服务器,直接读缓存,从磁盘中读取缓存,当kill进程时,数据还是存在。

这种方式也只能缓存派生资源

304 Not Modified

访问服务器,发现数据没有
更新,服务器返回此状态码。然后从缓存中读取数据。

posted @ 2020-09-15 19:44  潴哥  阅读(377)  评论(0编辑  收藏  举报