206 status code(w3.org)表示响应头为Range的请求的部分结果。
因此“显然”如果请求的文档长1024字节,并且Rangebytes=0-512则应返回206 Partial Content状态代码。(假设服务器能够返回内容)
但如果Rangebytes=0-2000呢?
是否应返回200 OK206 Partial Content
在我看来,规范中没有明确定义这一点——或者我读的地方不对?
我为什么在乎?
我这么问是因为Varnish Cache似乎总是返回206 Partial Content,而Facebook Open Graph debugger似乎期望返回200 OK。[1][2]
示例:获取清漆请求
(我收到了完整的文档,但返回了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

最佳答案

没关系。两个回复都有效。
(另请注意,当前规范现在http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p5-range-26.html,即将作为rfc发布)

07-28 04:03