If-Range
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
If-Range
HTTP 请求标头用于创建具有条件的范围请求:当条件得到满足时,则发出范围请求,服务器将返回 206
Partial Content
状态,以及相应的内容;如果条件没有得到满足,服务器将返回完整的资源以及 200
OK
状态。
该标头既可用 Last-Modified
验证器,也可用 ETag
验证器,但不能同时使用两者。
最常见的用例是恢复下载,以确保自最后一次片段接收以来,存储的资源没有发生更改。
语法
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT
If-Range: <etag>
指令
- <etag>
-
唯一代表所请求资源的实体标签。它是用双引号括起的 ASCII 字符串(例如
"675af34563dc-tr34"
)。这个标头中不能使用弱实体标签(以W/
为前缀)。 - <day-name>
-
“Mon”、“Tue”、“Wed”、“Thu”、“Fri”、“Sat”或“Sun”之一(大小写敏感)。
- <day>
-
两位表示日期的数字,例如“04”或“23”。
- <month>
-
“Jan”、“Feb”、“Mar”、“Apr”、“May”、“Jun”、“Jul”、“Aug”、“Sep”、“Oct”、“Nov”或“Dec”之一(大小写敏感)。
- <year>
-
四位表示年份的数字,例如“1990”或“2016”。
- <hour>
-
两位表示小时的数字,例如“09”或“23”。
- <minute>
-
两位表示分的数字,例如“04”或“59”。
- <second>
-
两位表示秒的数字,例如“04”或“59”。
GMT
-
格林威治时间。HTTP 的日期始终使用 GMT(而不是本地时间)表示。
示例
If-Range: Wed, 21 Oct 2015 07:28:00 GMT
规范
Specification |
---|
HTTP Semantics # field.if-range |
浏览器兼容性
BCD tables only load in the browser