If-Range
的If-Range
HTTP 请求报头使得范围请求的条件:如果条件被满足,该范围的请求将被发出,并且服务器发送回一个206
Partial Content
与适当的身体的答案。如果条件未满足,则会返回具有200
OK
状态的完整资源。
这个头文件可以与Last-Modified
验证器一起使用,也可以与一个ETag
,但不与两者一起使用。
最常见的用例是恢复下载,以确保自从收到最后一个片段后,存储的资源未被修改。
Header type | Request header |
---|---|
Forbidden header name | no |
句法
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT If-Range: <etag>
指令
<etag>唯一表示请求资源的实体标记。它是位于双引号(像 "675af34563dc-tr34"
)之间的一串 ASCII 字符,可以加前缀W/
以表示应使用弱比较算法。<day-name>“星期一”,“星期二”,“星期三”,“星期二“,”星期五“,”星期六“或”太阳“(区分大小写)。<day> 2位数日期编号,例如”04“或”23“。<month> ,“Mar”,“Apr”,“May”,“Jun”,“Jul”,“Aug”,“Sep”,“Oct”,“Nov”,“Dec”(区分大小写)例如“1990”或“2016”。<小时> 2位数的小时数,例如 “09”GMT
格林威治标准时间。HTTP 日期总是以 GMT 表示,从不以本地时间表示。
例子
If-Range: Wed, 21 Oct 2015 07:28:00 GMT
产品规格
Specification | Title |
---|---|
RFC 7233, section 3.2: If-Range | Hypertext Transfer Protocol (HTTP/1.1): Range Requests |
浏览器兼容性
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
请参阅
ETag
Last-Modified
If-Modified-Since
If-Unmodified-Since
If-Match
If-None-Match
206
Partial Content
- HTTP 条件请求