兴来每独往,胜事空自知。行到水穷处,坐看云起时

hello world

HTTP 缓存

21 May ’15

web缓存是可以自动保存常见文档副本的HTTP设备。当web请求抵达缓存时,如果本地有“已缓存的”副本,就可以从本地存储设备而不是原始服务器提取该文档。使用缓存的优点有:

1、减少了冗余的数据传输:节省网费;

2、缓解了网络瓶颈问题:不需要更多带宽就可更快加载页面;

3、降低了对原始服务器的要求:可以更快地响应,避免过载;

4、降低了距离时延。
Cache-Control
  • 定义缓存策略:控制谁在什么条件下可能缓存响应,以及可以缓存多久。

    • no-cache:必须先与服务器确认返回的响应是否被更改,然后才能使用该响应来满足后续对同一个网址的请求。因此,如果存在合适的验证令牌 (ETag),no-cache 会发起往返通信来验证缓存的响应,如果资源未被更改,可以避免下载
    • no-store:禁止浏览器和所有中继缓存存储返回的任何版本的响应

    • public:即使有关联的 HTTP 认证,甚至响应状态码无法正常缓存,响应也可以被缓存

    • private:不允许任何中继缓存对其进行缓存,但浏览器可以缓存

    • max-age:从当前请求开始,允许获取的响应被重用的最长时间(单位为秒)

理想情况下,目标应该是在客户端上缓存尽可能多的响应、缓存尽可能长的时间,并且为每个响应提供验证令牌,以便进行高效的重新验证。

Go back