Cache、Cookie、Session

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相对安全

你可能感兴趣的:(Cache、Cookie、Session)