缓存

2020-01-20  本文已影响0人  BingeryLamb

上面是浏览器存储的缓存策略
大规模系统中希望自动缓存
浏览器端和服务器端去协商一种通用的\color{red}{自动缓存策略}
通过http header
cache-control

缓存设备有很多: 浏览器 浏览器和服务器之间的代理服务器(cdn)

response headers:

\color{red}{cache-control}: \color{red}{max-age=3600}[http1.1],(优先级高于expires)
\color{red}{s-maxage=325360000},(只能指定public缓存,优先级高于max-age,不是从浏览器拿而是\color{red}{cdn},过了时间再从原服务器拿)

cache-control: private,max-age=0,no-cache(搭配max-age临时用的,表示不管怎么样都会向浏览器发起请求,通过服务端比如last-modified等信息去进一步判断浏览器缓存有没有过期,从而知道缓存策略)

\color{red}{expires}: \color{red}{Wed, 24 Jan 2018 12:18:34 GMT}[http1.0],(缓存过期时间,是服务器端的具体时间点)

以上是强的浏览器端的缓存策略

如何感知服务端文件发生变化呢?

Last-Modified / If-Modified-Since(同时存在优先级低于max-age)

弊端

Etag / If-None-Match

分级缓存策略

0D583037-CD30-49B8-8EEC-2B82FAA3D2A4.png
上一篇 下一篇

猜你喜欢

热点阅读