HTTP 206 获取文件部分内容和范围请求
【摘要】 HTTP 2xx 范围内的状态码表明了 “客户端发送的请求已经被服务器接受并且被成功处理了”。 HTTP/1.1 200 OK 是 HTTP 请求成功后的标准响应,当你在浏览器中打开某个网站后,你通常会得到一个 200 状态码。HTTP/1.1 206 状态码表示的是 “客户端通过发送范围请求头 Range 抓取到了资源的部分数据” 这种请求通常用来: 学习 http 头...
HTTP 2xx 范围内的状态码表明了 “客户端发送的请求已经被服务器接受并且被成功处理了”。 HTTP/1.1 200 OK 是 HTTP 请求成功后的标准响应,当你在浏览器中打开某个网站后,你通常会得到一个 200 状态码。HTTP/1.1 206 状态码表示的是 “客户端通过发送范围请求头 Range 抓取到了资源的部分数据” 这种请求通常用来:
- 学习 http 头和状态
- 解决网路问题
- 解决大文件下载问题
- 解决 CDN 和原始 HTTP 服务器问题
- 使用工具例如 lftp,wget,telnet 测试断电续传
- 测试将一个大文件分割成多个部分同时下载
测试
查看服务器是否支持 HTTP 206:
|
|
其中有两个我们比较关注的请求头: Accept-Ranges: bytes:该响应头表明服务器支持 Range 请求,以及服务器所支持的单位是字节。同时服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件。Accept-Ranges: none 响应头表示服务器不支持范围请求。 Content-Length: 8709 :Content-Length 响应头表明了响应实体的大小,也就是真实的图片文件的大小是 8709 字节 (8.7K)。
发送
利用 CURL 可以指定请求范围。 获取前 500 字节:
|
|
后 500 字节:
|
|
从 500 - 1000 字节:
|
|
从 500 - 末尾字节:
|
|
开启
大部分 web 服务器都原生支持字节范围请求. Apache 2.x 用户可以在 httpd.conf 中尝试 mod_headers:
|
|
文章来源: cuiqingcai.com,作者:崔庆才,版权归原作者所有,如需转载,请联系作者。
原文链接:cuiqingcai.com/4804.html
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)