http协议(缓存)
缓存是一种直接保存资源副本,并且在下次请求时不直接访问服务器而直接使用资源副本的技术。
共享缓存
能被任意代理服务器、客户端缓存的资源。
头部设置:
Cache-Control:public;max-age=3600;s-maxage=5000;
私有缓存
只能被单独用用户缓存的资源,禁止任何代理服务器缓存。
头部设置:
Cache-Control:private;max-age=3600;
Cache-control 相关命令解释
public: 表示该资源可被多个客户端缓存(客户机、代理服务器)。
private: 表示该资源为私有缓存,禁止任何代理服务器缓存该资源。
max-age:相对时间,表示该资源多少秒后过期。
s-maxage:功能和max-age类似,但它只适用于共享缓存。
no-store: 没有缓存,每一次请求都会直接发送发到服务器。
no-cache: 表示客户端可以缓存,但每次使用之前必须和服务器进行验证。
must-revalidate: 在提供较陈旧的缓存时,必须和服务器进行新鲜度验证。
其他配合字段
Last-Modified: 该资源最后一次更改的时间,GMT格式的时间。
- 配合校验请求头:If-Modified-Since:<Last-Modified>
Etag: 强校验器,相当于该资源的签名。
- 配合校验请求头:If-None-Match:<Etag>