前言:
上一篇记录了http缓存的简单介绍,这篇将介绍http缓存的强缓存。
什么是强缓存?
浏览器发起资源请求时,直接从磁盘缓存中读取资源并返回。
强缓存标志
cache-control:
--public 允许浏览器缓存、代理服务器缓存
--private 仅允许浏览器缓存
--no-store 强缓存与协商缓存都不起作用
--no-cache 不允许强缓存,但允许协商缓存
--max-age= xxx 缓存时间,以S(秒)为单位,相对于服务器返回时间
这些就是常用的强缓存的字段,下面将举个例子:
cache-control: public,max-age=600;
max-age设置为600s后过期,时间是相对于服务器返回的date时间;
max-age在有效期内,都将从磁盘缓存中获取资源。
expires:
在http1.0时期,使用expires来控制强缓存;
expires是一个绝对时间,这个时间将和客户端当前时间做对比,如果expires大于客户端时间,将直接从缓存中获取资源;
客户端时间改变,会影响该字段的准确性;
强缓存使用
强缓存只能是服务器端控制;
强缓存用来控制不常改变资源的缓存,减少请求,缓解服务器压力,加快响应速度;