http 常用状态码

200 —— 客户端发送的请求已经被服务器接受并且被成功处理了

206 —— 客户端通过发送范围请求头Range抓取到了资源的部分数据

一般用来

  • 解决大文件下载问题
  • 解决CDN和原始HTTP服务器问题
  • 使用工具例如lftp,wget,telnet测试断电续传

400 —— 客户端请求语法错误,服务器无法理解

401 —— 未登录

403 —— 没有权限访问

404 —— 不存在

409 —— 冲突 (服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息)

416 —— 读取文件时设置的 Range 有误

参考文章:https://www.cnblogs.com/chenpingzhao/p/5797506.html

416正是支持断点续传的标志。服务器得到一个Range之后,需要对它的取值进行检验,包括:

  • 开始位置非负
  • 结束位置需要大于开始位置
  • 开始位置需要小于文件长度减一 (因为这里的位置索引是从0开始的)
  • 若结束位置大于文件长度减一,则需要把它的值设置为文件长度减一

文件存在远程服务器上,如何知道文件大小?

至少要发起两次请求:第一次请求,不需要下载整个文件,只需要获得Response的Content-Length大小;第二次请求,将Content-Length值写进RANGE,实现下载。

出现 416 时解决办法也很简单,将第一次请求时的Range去掉。

500 —— 服务器内部错误

502 —— 网关错误

更多可查看此处:https://www.cnblogs.com/shanyou/archive/2012/05/06/2486134.html

猪猪侠要努力呀!
原文地址:https://www.cnblogs.com/mlllily/p/11064038.html