Http缓存机制学习笔记

1.2 Http协议缓存机制

缓存机制示意图

Http缓存的常用字段

各字段简介:

Expires:Http1.0引入的字段,其值是一个绝对时间;

Cache-Control:http1.1引入的字段,主要用来增强Http的缓存控制功能,包括四个字段no-cache/max-age/if-only-cache/max-sale

  • no-cache:即不使用缓存,每一次都向服务器请求数据;
  • max-age:设置一个相对存活时间,即相对于上一次服务器记录的请求时间而言;
  • if-only-cache: 即只是用缓存,不使用请求;
  • max-stale:即在指定时间内使用缓存数据 ;

last-modified:即服务器记录的该数据的最近一次修改的时间;
ETag:即该数据文件的一个唯一编码,类似HashCode,用于和客户端的Etag进行比对,且Etag优先级高于last-modified,即服务器会优先比对客户端上传的Etag值;
        作用场景:当服务器数据文件被修改(比如加了一行空格),但是内容相当于不改变(空行一般无实际意义)的情况,这种情况下不能仅靠last-modified字段来判断是否需要缓存;
Date:服务器当前的时间,是标准的格林威治时间;
If-Modified-Since: 即客户端需要上传该参数,该参数的内容为客户端上一次请求改数据时所获得的Response中的last-modified参数;
If-None-Match:即当客户端有Etag时,需要在If-None-Match中设置Tag的值
        原理:服务器会将自身的Etag与客户端上传的If-None-Match的值比对,如果相同则将Response中的If-None-Match设置为false,代表数据未发生变化,客户端可以直接使用缓存,不同则将Response          中的If-None-Match设置为true,代表服务端数据发生变化,客户端需要解析Response下发的数据并更新缓存;

 

 

-------------------------------学海无涯-------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值