HTTP缓存的意义
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的客户端。