关于Etag

浏览器在向服务器进发送一个请求的时候,浏览器会首先进行缓存过期判断,其通过设置的缓存过期时间来判断文件是否过期

一共分为以下几种情况:

1.未过期。这种情况下不向服务器发送请求,直接进入缓存读取。此时服务器会返回一个200OK from Cache。这种情况下浏览器和服务器之间不存在交互。


2.过期的情况。这种情况下浏览器会向服务器发送请求,并带上1中设置的文件修改时间和Etag。然后进行资源更新判断。服务器根据浏览器传过来的文件修改时间来判断自上一次请求过后文件有没有被修改。根据Etag,判断文件内容自上一次请求后,文件内容有没有发生变化。

此时又分为两种情况:

  • 两种判断的结论都是文件没有被修改过,服务器会向浏览器返回304,此时浏览器会从缓存中读取文件的内容。这种情况叫做协议缓存,浏览器和服务器之间有一次请求交互
  • 若修改时间和文件内容判断有一个没有通过,则服务器会接收此次请求。

应该注意get请求会被缓存,post请求不会被缓存。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值