http缓存

LeoHan 2020-06-02

前言

HTTP 缓存需要服务端通过响应头来设置

HTTP 缓存是我们日常开发中最为熟悉的一种缓存机制。它又分为强缓存和协商缓存。优先级较高的是强缓存,在命中强缓存失败的情况下,才会走协商缓存。

强缓存

在浏览器发送请求时,会先去查看是否有expriss和cache-Control,以此来判断是否命中“强缓存”,

对于设置强缓存的请求,在请求发送时直接读取浏览器中的缓存,不会与服务器发生通信

http1.0:expriss:值是过期的时间

http1.1:cache-Control:max-age=值是毫秒,表示有效期

协商缓存

协商缓存依赖于服务端与浏览器之间的通信。

协商缓存机制下,浏览器需要向服务器去询问缓存的相关信息,进而判断是重新发起请求、下载完整的响应,还是从本地获取缓存的资源。

我们发送请求时,有一个常见的状态码304,就是使用了协商缓存的结果.浏览器向服务器请求资源,服务器去检查资源是否更新,如果更新了,就返回新资源.如果没有更新返回状态码304,让请求去缓存中读取结果

 Last-Modified 到 Etag

相关推荐