在接收到HTTP状态码206的头信息以后, 终端如何响应

ameigame 2011-12-06 12:01:26
情况是这样, 我发送了一个包含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头, 终端该如何响应才能继续下载指定的内容?
...全文
2779 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fixopen 2014-07-16
  • 打赏
  • 举报
回复
继续GET,使用Range头规定要索取的区域。
安卓机器人 2011-12-07
  • 打赏
  • 举报
回复
关于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响应返回的内容。
不知道你说的终端是什么
微信公众平台企业号开发Java版系列课程,采用java语言细致、详尽、全面地讲解微信企业号开发的相关知识点。该套课程,在微信公众平台深度开发Java版v2.0的基础上,对企业号开发的“回调模式”、“主动调用模式”、“JSAPI模式”分类讲解。贯彻“简单、高效、快捷”的课程特色,采用“一课两知识点”的课程进度,保证课程质量的同时,尽可能的压缩课程时间,让学员“以短的时间,学到多的知识”。课程的知识点包括:建立连接;接收消息与响应消息;被动响应消息;接收事件(菜单事件、关注/取消关注事件、坐标事件、异步任务完成事件);发送消息(消息推送);自定义菜单;OAuth验证;Userid与openid互换;微信JS-SDK接口(重点);企业会话服务(重点);基础样式库(重点);企业号登录授权(重点),等知识点。以及,针对微信公众号开发的服务端架构设计方案。课程以微信公众号开发视角,讲解JAVA开发微信公众号所需的框架、第三方工具。 购买套餐还赠送经典微信开发课程——[微信公众号_独立知识点]环境搭建。该课程针对各种复杂的网络环境,讲解如何构建开发环境,已解决“没有服务器”、“没有固定IP”等开发者遇到的窘境。 详情 qq2326321088

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧