1.Cache
Cache-Control: public , max-age=3600
设置上面的字段,一个小时内缓存.
- 如果这一个小时内资源变更了怎么办?
1.URL修改 , 每次改动修改查询参数
例如:
?version=1 改成 ?version=2
- 网页的一个请求不会缓存 || 网页请求头包含Cache-Control , 此时不接受响应的Cache-Control
2.Expires
Expires: Fri, 11 Jun 2021 11:33:01 GMT
Cache-Control相比Expires
- Cache-Control不会受本地时间影响
3.ETag
ETag有一点像cookie
服务器会通过某种算法,给资源计算得出一个唯一标志符(比如md5标志), 服务器把资源响应给客户端的时候 , 会带上这个唯一标识符. 客户端会保存该标识符 , 下一次的请求就会带上它 , 并对比和服务器此时的标识符是否一致.
- 如果不匹配 , 将返回新的资源
- 如果匹配 , 就使用当前缓存
Cookie
- Cookie 会根据从服务器端发送的响应报文内的一个叫做 Set-Cookie
的首部字段信息, 通知客户端保存 Cookie - 第二次客户端请求服务器会带上Cookie , 服务器就知道当前是哪一个用户
Session
- 用uuid保证每一个用户有一个ID , 并设置到cookie
- 这些都放到session里
- session储存服务器端
- 用户的重要信息用session相对安全
网友评论