HTTP缓存的意义
Yogae 健身狂魔

HTTP缓存的意义

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Caching 原文链接

通过复用以前获取的资源,可以显著提高网站和应用程序的性能。Web缓存减少了等待时间和网络流量,因此减少了显示资源表示形式所需的时间。通过使用HTTP缓存,变得更加响应性。

不同种类的缓存

缓存的种类有很多,大致分为两类:私有与共享缓存。共存缓存存储的响应能被多个用户使用。私有缓存只能用于单独用户。

私有(浏览器缓存)
共享(代理缓存)

缓存操作的目标

常见的HTTP缓存只能存储”GET”响应

成功响应状态码:200 一个成功获取HTML文档,图片,或者文件的响应。

永久重定向状态码:301

错误响应状态码:404

不完全响应状态码:206(只返回局部的信息)

缓存控制(Cache-control头)

没有缓存
Cache-Control: no-store
缓存但重新验证
Cache-Control: no-cache
私有和公共缓存
Cache-Control: private
Cache-Control: public
过期
Cache-Control: max-age=31536000
验证方式
Cache-Control: must-revalidate

Pragma头

Pragma 是HTTP/1.0标准中定义的一个header属性,请求中包含Pragma的效果跟在头信息中定义Cache-Control: no-cache相同,但是HTTP的响应头没有明确定义这个属性,所以它不能拿来完全替代HTTP/1.1中定义的Cache-control头。通常定义Pragma以向后兼容基于HTTP/1.0的客户端。