If-Range - HTTP 编辑
If-Range
HTTP 请求头字段用来使得 Range
头字段在一定条件下起作用:当字段值中的条件得到满足时,Range
头字段才会起作用,同时服务器回复206
部分内容状态码,以及Range
头字段请求的相应部分;如果字段值中的条件没有得到满足,服务器将会返回 200
OK
状态码,并返回完整的请求资源。
字段值中既可以用 Last-Modified
时间值用作验证,也可以用ETag
标记作为验证,但不能将两者同时使用。
If-Range
头字段通常用于断点续传的下载过程中,用来自从上次中断后,确保下载的资源没有发生改变。
Header type | Request header |
---|---|
Forbidden header name | no |
语法
If-Range: <day-name>, <day> <month> <year> <hour>:<minute>:<second> GMT If-Range: <etag>
说明
- <etag>
- 一个资源标签(entity tag)代表着所请求的资源。它是由被双引号包围的ACSII 编码的字符串组成的(例如
"675af34563dc-tr34"
)。当应用弱匹配算法时,E-Tag会有一个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 | Title |
---|---|
RFC 7233, section 3.2: If-Range | Hypertext Transfer Protocol (HTTP/1.1): Range Requests |
浏览器兼容性
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
No compatibility data found. Please contribute data for "http/headers/if-range" (depth: 1) to the MDN compatibility data repository.
相关内容
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论