408 请求超时错误 表示 服务器未在服务器分配的超时期限内收到来自客户端的完整请求。408 请求超时错误代码与我们在上一篇文章中探讨过的 504 网关超时错误类似,后者表示充当网关或代理的服务器超时。然而,该 错误 并非来自节点链中某个网关或代理服务器的消息,而是来自客户端所连接的活动服务器(例如 Web 服务器)的直接消息。HTTP response status code
408 Request Timeout
查找意外 HTTP 响应代码的原因可能很困难, 408 Request Timeout
错误代码也不例外。由于状态代码池中可能包含 超过 50 个 状态代码,用于表示客户端、Web 应用程序、Web 服务器以及(可能)多个第三方 Web 服务之间的复杂关系,即使在最好的情况下,确定特定状态代码的原因也可能非常困难。
在本文中,我们将 408 Request Timeout
深入探讨导致此消息出现的原因,并提供一些可用于在您自己的应用程序中诊断和调试此错误的技巧。我们甚至会分析一些最流行的内容管理系统 ( CMSs
),以找出可能导致您的网站意外生成 408 Request Timeout
错误的潜在问题区域。让我们开始吧!
阅读更多:错误活动帐户已存在 Robinhood(已修复)
目录
服务器端还是客户端?
该类别中的所有 HTTP 响应状态代码 4xx
均被视为 client error responses
。4xx 类别中的错误与 5xx 类别中的错误形成对比,例如我们之前研究过的 504 网关超时,它们被视为服务器错误响应。也就是说,出现 4xx
错误并不一定意味着问题出 数据集 在客户端(在这种情况下,“客户端”通常是指用于访问应用程序的 Web 浏览器或设备)。通常,如果您尝试诊断自己应用程序中的问题,则可以立即忽略大多数客户端代码和组件,例如 HTML、层叠样式表 (CSS)、客户端 JavaScript 等。这不仅适用 于 网站。智能手机应用程序通常会实现看起来很现代的用户界面,而这些界面实际上是由后台的普通 Web 应用程序支持的。
另一方面,服务器 也可能 是错误的根本原因 408 Request Timeout
。在某些情况下,服务器可能配置错误,无法正确处理请求,从而导致错误 408
代码响应和其他棘手的流量路由问题。我们将在下文探讨其中一些场景(以及潜在的解决方案),但请注意,即使 408 Request Timeout
被视为 client error response
,也并不一定意味着我们可以排除客户端或服务器是此场景中的罪魁祸首。在这些情况下, 仍然是生成 并将其作为 HTTP 响应代码返回 的 server
网络对象 ,但客户端也可能以某种方式导致了问题。408 Request Timeout
client
从彻底的应用程序备份开始
一如既往,宁可事前谨慎,也不要搞砸了事后后悔莫及。因此,在尝试对系统 进行任何修复或更改之前,务必 对应用程序、数据库以及网站或应用 为什么衡量增量很重要 程序的所有其他组件进行完整备份 。如果条件允许,最好创建应用程序的完整副本,并将其保存在 非活动或不可公开访问的辅助服务器上。这将为您提供一个干净的测试环境,用于测试解决问题所需的所有潜在修复方案,而不会威胁到您运行的应用程序的安全性或完整性。staging
诊断 408 请求超时
响应 408 Request Timeout
代码表示服务器在其跟踪的特定时间段(即时间 timeout
段)内未收到来自客户端的完整请求。根据 RFC7235 HTTP/1.1 语义和内容标准文档的规定,服务器 应在其响应中 包含带有该指令的特殊 Connection
标头 close
(例如),以 Connection: close
通知客户端应关闭连接。简而言之, 408
代码通知客户端 最新评论 服务器已决定关闭连接,而不是继续等待事务完成。收到 Connection: close
标头后,客户端可以选择使用新连接重复原始请求。
大多数现代浏览器都实现了 HTTP 预连接机制,该机制通过 预测客户端 在不久的将来可能使用的资源(以及连接)来加速整体的网页浏览体验。浏览器如何使用这些机制的详情超出了本文的讨论范围,但您可以查看 W3C 资源提示文档了解更多详细信息。