206 status code(w3.org)表示响应带有Range
标头的请求的部分结果。
如果要求的文件是例如“明确”的话长度为1024字节,Range
标头为bytes=0-512
,则应返回状态代码206 Partial Content
。 (假设服务器能够返回内容)
但如果Range
是bytes=0-2000
怎么办?
应该返回200 OK
或206 Partial Content
吗?
在我看来,这在规范中没有明确定义 - 或者我可能没有在正确的地方阅读?
我为什么关心?
我问,因为Varnish Cache似乎总是返回206 Partial Content
,而Facebook Open Graph debugger似乎期望200 OK
。 [1] [2]
示例:GET请求清漆
(我收到了完整的文档,但仍然返回206 Partial Content
)
> curl --dump-header - -H 'Range: bytes=0-7000' https://www.varnish-cache.org/sites/all/themes/varnish_d7/logo.png
HTTP/1.1 206 Partial Content
Server: nginx/1.1.19
Date: Mon, 14 Apr 2014 22:43:31 GMT
Content-Type: image/png
Content-Length: 2884
Connection: keep-alive
Last-Modified: Thu, 15 Dec 2011 12:30:46 GMT
Accept-Ranges: bytes
X-Varnish: 1979866667
Age: 0
Via: 1.1 varnish
Content-Range: bytes 0-2883/2884
进一步w3参考:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
答案 0 :(得分:2)
没关系。这两个回复都是有效的。
(另请注意,当前的规范现在为http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p5-range-26.html,即将发布为RFC)