HTTP 416 错误 – 所请求的范围无法满足 (Requested Range not satisfiable)

介绍
    您的 Web 服务器认为,客户端(如您的浏览器或我们的 CheckUpDown 机器人)发送的 HTTP 数据流包含一个“范围”请求,规定了一个无法满足的字节范围 – 因为被访问的资源不覆盖这个字节范围。 例如, 如果一个图像文件资源有 1000 个字节,而被请求的范围是 500-1500 ,那就无法满足。
HTTP 循环中的 416 错误
    任何客户端 ( 例如您的浏览器或我们的 CheckUpDown 机器人 ) ,都需要通过以下循环:
        * 从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://’) 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。
        * 打开一个 IP 套接字 (socket) 连接到该 IP 地址。
        * 通过该套接字写 HTTP 数据流。
        * 从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。
    该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为 ‘416’ 时
解决 416 错误 – 一般方法
    这个错误在大多数网络传输中都少有发生,特别是当客户端系统是一个浏览器时就更不可能。 网址在这种情况下通常是网页上可见的标准超文本链接, 很少使用“范围”规范。
    如果您的客户端系统不是一个浏览器,这个问题就只有通过以下途径解决, 即先检查客户端在试图做什么,然后与您的互联网服务供应商 (ISP) 商讨为什么 Web 服务器拒绝接受客户端发送的“范围”规范。 最常见的原因是编程很差的客户端系统, 使用 ‘ 范围 ‘ 规范但忽略所请求资源的大小。
解决 416 错误 – CheckUpDown
    该错误应该永远不会发生在您的 CheckUpDown 帐户上。 如果出现了, 则通常表明我方系统或是管理您网站的 Web 服务器系统在编程上有缺陷。 我们根本不使用范围请求, 因为我们总是希望得到您要求我们监控的网址的完整内容。
    只要您遇到 416 错误,就请与我们联系(最好通过电子邮件) – 您自己无法解决此类错误。我们必须和您的 ISP 及 Web 服务器软件供应商联络,以确认产生该错误的确切原因

来源:http://www.blogjava.net/anchor110/articles/335686.html