从开发的角度看待: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 服务器接受。
相关文章推荐
- 从用户的角度看待:HTTP请求408错误以及解决办法
- HTTP 408请求超时错误解决办法
- HTTP 408 错误 – 请求超时 (Request timeout)
- HTTP 408 错误 – 请求超时 (Request timeout)
- Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误解决办法
- System.Web.HttpException: 请求已超时 的解决办法。
- jQuery 跨域请求出错 XMLHttpRequest cannot load 解决办法
- java 小程序开发PKCS7Padding 解密方法实现,以及错误Cannot find any provider supporting AES/CBC/PKCS7Padding 解决办法
- Exception occurred during processing request: null 的错误原因以及解决办法
- 下载android源码时出现http请求错误到解决办法
- HttpWebRequest多线程性能问题,请求超时的错误
- 使用Xutils的时候rg.apache.http.client.methods.HttpRequestBase错误的解决办法
- System.Web.HttpException: 请求已超时 的解决办法。
- Sys.WebForms.PageRequestManagerServerErrorException: 在服务器上处理请求时出现未知错误解决办法
- 关于"Ueditor 请求后台配置项http错误,上传功能将不能正常使用"的解决办法
- 解决HttpWebRequest写入数据“操作超时”错误
- 【已解决】使用android-async-http网络请求框架出现Header[]不识别错误的解决办法
- 解决办法-HTTP 错误 401.3 - 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
- System.Web.HttpException: 请求已超时 的解决办法。
- Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerTimeoutException: 服务器请求超时。