http缓存机制-原理
缓存在web开发中是相当重要的,对网络请求缓存,不仅可以提高用户的访问体验,一定程度上也能减轻服务器的压力
以下一些理论文字都是从 MDN COPY 了一些内容,当然这些知识都是从官方RFC文档来的,
类型
分为:私有缓存 和 共享缓存 ,
私有缓存
私有缓存是绑定到特定客户端的缓存——通常是浏览器缓存。由于存储的响应不与其他客户端共享,因此私有缓存可以存储该用户的个性化响应。
在请求头上则必须指定 private 指令。
1 | Cache-Control: private |
共享缓存
共享缓存位于客户端和服务器之间,可以存储能在用户之间共享的响应。共享缓存可以进一步细分为代理缓存和托管缓存。
在浏览器环境中,http缓存大部分情况是根据请求头的一些些属性来控制缓存的状态,常用的属性例如有:Cache-Control
, Expires
, Etag
, If-None-Match
,Last-Modified
, If-Modified-Since
等等
属性 | 可取值 |
---|---|
附录:规范RFC
http缓存机制-原理