您的位置:首页 > 理论基础 > 计算机网络

从开发的角度看待:HTTP请求408错误以及解决办法[请求超时 (Request timeout)]

2012-04-25 18:08 691 查看


介绍

您的 Web 服务器认为,在 1 )建立客户端(如您的浏览器或我们的 CheckUpDown 机器人) 和服务器之间 IP 连接(套解字 – socket ), 和 2 )通过该套解字收到数据,之间的时间间隔太长, 所以服务器放弃该连接。 套接字连接实际上已失效 – 您的 Web 服务器已就对该特定套接字连接发出 ‘ 超时 ‘ 信号。客户端的请求必须及时重复。

HTTP 循环中的 408 错误

任何客户端 ( 例如您的浏览器或我们的 CheckUpDown 机器人 ) ,都需要通过以下循环:

从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 ‘http://’) 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。

打开一个 IP 套接字 (socket) 连接到该 IP 地址。
通过该套接字写 HTTP 数据流。
从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。

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

解决 408 错误 – 一般方法

408 错误往往难以解决。他们通常涉及系统工作量或系统操作中的一次性变化。

如果您持续看到 408 错误,首先要考虑的是 Web 服务器的工作量 – 特别是在产生 408 错误的时间段内。如果工作量很轻,那么你还需要考虑客户端系统的工作量。 如果套接字 (socket) 连接 两端的计算机系统的似乎都是正常运行,那么暂时的互联网流量遽增可能就是根源。

解决 408 错误 – CheckUpDown

此错误极不可能发生在您的 CheckUpDown 帐户上, 因为通常在 1 )套接字开通 和 2 )通过该套接字书写入 HTTP 数据流 之间只有很短的时间间隔(毫秒)。在特殊情况下,这一间隔可能会因我们计算机系统的一些操作而增加,如我们暂停一个执行程序, 而这就发生在套接字刚刚产生之后。 或是这两个步骤在我们系统上很快地接连发生,但第二个步骤在互联网上遇到不合理延迟。
您的 Web 服务器也可能将这两个步骤间的可接受间隔设定得很低,如您的服务器很忙,对它认为有点儿慢的尝试链接感觉有点儿 ‘ 不耐烦 ‘ 了。

任何这些情况都可能会生成 408 错误。但它们都相当不易发生。在正常的 IP 通讯中,这两个步骤之间的时间间隔应该远远小于 10 秒,应该是完全可以为您的 Web 服务器接受。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐