情况是这样, 我发送了一个包含range信息的http请求给服务器, 服务器的响应报文如下
HTTP/1.0 206 extension-code [ZTEOSE]
Server: ZTEOSE
Server: Resin/2.1.14
Content-Disposition: attachment; filename=20111205173341.3gp
Content-Range: bytes 0-199999/721394
Accept-Ranges: bytes
Content-Type: video/3gpp
Content-Length: 200000
Date: Mon, 05 Dec 2011 09:33:40 GMT
请问各位大神, 如果收到这样的http头, 终端该如何响应才能继续下载指定的内容?
------------------------------------------------------------------------------------------------------------------------------------------------
关于206的解释:
206 Partial Content
服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。
该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range 来作为请求条件。
响应必须包含如下的头部域:
Content-Range 用以指示本次响应中返回的内容的范围;如果是 Content-Type 为 multipart/byteranges 的多段下载,则每一 multipart 段中都应包含 Content-Range 域用以指示本段的内容范围。假如响应中包含 Content-Length,那么它的数值必须匹配它返回的内容范围的真实字节数。
Date
ETag 和/或 Content-Location,假如同样的请求本应该返回200响应。
Expires, Cache-Control,和/或 Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。
假如本响应请求使用了 If-Range 强缓存验证,那么本次响应不应该包含其他实体头;假如本响应的请求使用了 If-Range 弱缓存验证,那么本次响应禁止包含其他实体头;这避免了缓存的实体内容和更新了的实体头信息之间的不一致。否则,本响应就应当包含所有本应该返回200响应中应当返回的所有实体头部域。
假如 ETag 或 Last-Modified 头部不能精确匹配的话,则客户端缓存应禁止将206响应返回的内容与之前任何缓存过的内容组合在一起。
任何不支持 Range 以及 Content-Range 头的缓存都禁止缓存206响应返回的内容。
不知道你说的终端是什么