17 - 03 - 25 图解HTTP(29)

# If-None-Match #

 

只有在If-None-Match的字段值与ETag值不一致时,可处理该请求。与 If-Match首部字段的作用相反。

=首部字段If-None-Match属于附带条件之一。它和首部字段 If-Match作用相反。

用于指定If-None-Match字段值的实体标记(ETag)值与请求资源的ETag不一致时,它就告知服务器处理该请求。

在GET或HEAD方法中使用首部字段 If-None-Match  可获取最新的资源。

因此,这与使用首部字段 If-Modified-Since  时有些类似。

# If-Range #


首部字段If-Range属于附带条件之一。

它告知服务器若指定的 If-Range字段值(ETag值或者时间)和请求资源的ETag值或时间相一致时,则作为范围请求处理。

反之,则返回全体资源。

如果不使用首部字段if-Range则需要进行两次处理。

下面我们思考一下不使用首部字段 If-Range  发送请求的情况。服务器端的资源如果更新,

那客户端持有资源中的一部分也会随之无效,当然,范围请求作为前提是无效的。

这时,服务器会暂且以状态码 412Precondition Failed  作为响应返回,其目的是催促客户端再次发送请求。

这样一来的话,与使用首部字段If-Range  比起来,就需要花费两倍的功夫。


# If-Unmodified-Since #

首部字段 If-Unmodified-Since和首部字段 If-Modified-Since  的作用相反。

它的作用的是告知服务器,指定的请求资源只有在字段值内指定的日期时间之后,未发生更新的情况下,

才能处理请求。如果在指定日期时间后发生了更新,则以状态码 412 Precondition Failed  作为响应返回。

exIf-Unmodified-Since: Thu, 03 Jul 2012 00:00:00 GMT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值