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 验证器,但不能同时使用两者。

最常见的用例是恢复下载,以确保自最后一次片段接收以来,存储的资源没有发生更改。

标头类型 请求标头
禁止修改的标头

语法

http
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(而不是本地时间)表示。

示例

http
If-Range: Wed, 21 Oct 2015 07:28:00 GMT

规范

Specification
HTTP Semantics
# field.if-range

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
If-Range

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见