小伙伴们大家好,最近,做视频播放的时候一直遇到请求状态为416的状态

相关文档 416 - 站长百科 (zzbaike.com)

HTTP 416错误,(Requested Range not satisfiable),是HTTP协议状态码的一种,表示“客户端发送的HTTP数据流包含一个“范围”请求,规定了一个无法满足的字节范围-因为被访问的资源不覆盖这个字节范围”。

HTTP 循环中的 416 错误


任何客户端 ,都需要通过以下循环:

  • 从您站点的IP名称(即您站点的网址-URL)获得一个IP地址。这个对应关系(即由IP名称向IP地址转换的对应关系)由域名服务器(DNS)提供。

  • 打开一个IP套接字(socket)连接到该IP地址。

  • 通过该套接字写 HTTP 数据流。

  • 从您的Web服务器接受响应的HTTP数据流。该数据流包括状态编码,其值取决于HTTP协议。解析该数据流得到状态编码和其他有用信息。

该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为‘416’时

解决416错误的一般方法


这个错误在大多数网络传输中都少有发生,特别是当客户端系统是一个浏览器时就更不可能。网址在这种情况下通常是网页上可见的标准超文本链接,很少使用“范围”规范。

这个问题可以通过以下途径解决,即先检查客户端在试图做什么,然后与您的互联网服务供应商(ISP)商讨为什么Web 服务器拒绝接受客户端发送的“范围”规范。最常见的原因是编程很差的客户端系统,使用‘范围’规范但忽略所请求资源的大小。

上面这些来自416 - 站长百科 (zzbaike.com)

下面这个是来自相关文档HTTP状态码206和416 - 建站教程 (jiuaidu.com)

由于之前进行视频播放的时候,加载资源有206状态 416

然后找了相关文档,了解到206状态码表示的是:客户端通过发送范围请求头range抓取到了资源的部分数据,一般用来

  1. 解决大文件下载的问题

  1. 解决cdn和原始http服务器的问题

  1. 使用工具例如lftp,wget,telnet测试断点续传

  1. 如何判断远程服务器是否支持http 206

在我们看F12的资源看请求头

这是响应头:

这是请求头:

accept-ranges: bytes - 该响应头表明服务器支持range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位).我们还能知道:服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件.accept-ranges: none 响应头表示服务器不支持范围请求.

content-length: 2349 content-length响应头表明了响应实体的大小,也就是真实的图片文件的大小是2349字节 .

讨论 下载地址是cdn地址,莫非cdn不支持断点续传?

恰好相反,416正是支持断点续传的标志。服务器得到一个range之后,需要对它的取值进行检验,包括:
开始位置非负
结束位置需要大于开始位置
开始位置需要小于文件长度减一 (因为这里的位置索引是从0开始的)
若结束位置大于文件长度减一,则需要把它的值设置为文件长度减一

以上来自文章HTTP状态码206和416 - 建站教程 (jiuaidu.com)

Http请求状态码-416相关推荐

  1. HTTP请求状态码404相关问题解决

    HTTP请求状态码404相关问题解决 参考文章: (1)HTTP请求状态码404相关问题解决 (2)https://www.cnblogs.com/complc/p/11646710.html 备忘一 ...

  2. http协议组成(请求状态码)

    http请求由:请求行:消息报头:请求正文组成 //请求行 Request URL: http://172.32.4.33:8080/operation/v2/autoServer/queryAuto ...

  3. 在使用selenium 做IE自动化操作时 请求状态码 400【帮忙解决或者找出问题所在悬赏200】

    在使用selenium 做IE自动化操作时 发现定位点击按钮无效,后来发现,人工点击按钮时,请求状态码为200,自动化点击时状态码为400,请问大家有什么方法可以尝试解决这个问题吗? 对方可能使用了某 ...

  4. http请求状态码400的原因总结

    会出现这个HTTP请求状态码400,说明这个请求是无效的,并没有进入后台服务器(控制器)里. 通常的原因: 前端提交的字段名称或者字段类型和后台的实体类不一样,或者前端提交的参数跟后台需要的参数个数不 ...

  5. HTTP请求状态码大全

    HTTP请求状态码大全 100(Continue):目前为止都很正常,客户端可以继续发送请求或者忽略这个响应. 200(OK):请求被正常处理 204(No Content):请求被正常处理但是没有资 ...

  6. 【已解决】(uni-app)IOS 端 H5 应用无法发起请求,请求状态码为0,错误描述为request:fail

    [已解决](uni-app)IOS 端 H5 应用无法发起请求,请求状态码为0,错误描述为request:fail 目录 [已解决](uni-app)IOS 端 H5 应用无法发起请求,请求状态码为0 ...

  7. 一些常见的HTTP的请求状态码

    200:正确的请求返回正确的结果,如果不想细分正确的请求结果都可以直接返回200. 201:表示资源被正确的创建.比如说,我们 POST 用户名.密码正确创建了一个用户就可以返回 201. 202:请 ...

  8. 服务器响应请求状态码(详细版)

    原文地址: https://www.cnblogs.com/chinaifae/p/10253520.html. 2开头 (成功响应)表示成功处理了请求的状态码 200 (成功) 服务器已成功处理了请 ...

  9. 常见的http请求状态码的200/300/400/500各代表的意思

    1开头的http状态码 表示临时响应并需要请求者继续执行操作的状态代码. 100   (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分.   101   ...

最新文章

  1. MAC下安装多版本JDK和切换几种方式
  2. 查看Infinicon的HCA卡上的网络流量的方法
  3. dotty编译器语法特性之一交叉类型,联合类型和文本单例类型
  4. Cocos2d-x Lua中实例:帧动画使用
  5. 数组常见异常 学习笔记
  6. Jquery easyUI datagrid载入复杂JSON数据方法
  7. 公钥 私钥_比特币私钥、公钥、钱包地址之间的关系
  8. 泛微协同商务系统_【泛微云办公平台eteams_泛微在线oa协同办公系统】
  9. 电商后台管理系统-权限管理模块
  10. 渗透测试报告模板_渗透测试报告编写的几个小技巧
  11. xshell通过隧道连接_如何通过SSH隧道实现远程连接
  12. Day77_Flink(三)Flink时间语义和水印
  13. Python实现Global Reed-Xiaoli(GRX)高光谱目标检测算法
  14. Python进阶读书笔记之(四) set集合
  15. 洛谷【2142】高精度减法
  16. PCF8591使用及Python控制
  17. Java面向对象笔记 • 【第10章 Swing编程初级应用】
  18. android l m8,HTC M8或于10月份升级Android L
  19. 精力管理--分享感悟
  20. 处理Android中的点击冲突

热门文章

  1. 国有企业数字化转型的特殊性
  2. java通信:远程画板
  3. 大sd卡 裂开了,写保护掉了。重新装好后,被写保护的解决办:
  4. 对二级指针分配内存及理解
  5. 第四讲:详谈波分设备在双活方案中应用
  6. JS中every()方法
  7. mysql 文本挖掘_GitHub - HuiHuiT/dianping_textmining: 大众点评评论文本挖掘,包括点评数据爬取、数据清洗入库、数据分析、评论情感分析等的完整挖掘项目...
  8. STC51单片机串口波特率设置之BRT设置
  9. 用Python告诉你广州房租现状
  10. Windows自带的计算器