408 Request Timeout 表示服务器在愿意等待的时间内没有收到完整的请求消息。服务器会在空闲的长连接(keep-alive)上发送它,或者在客户端已开始发送请求、但请求头或请求体发送得太慢时发送它。随后服务器会关闭连接;仍有请求在传输中的客户端可以在新连接上重新发送。
不要把它与 504 Gateway Timeout 混淆,后者是网关等待上游服务器的时间过长;也不要与 nginx 的 499 混淆,它是在客户端先放弃时记录的。
响应示例
HTTP
HTTP/1.1 408 Request Timeout
Date: Fri, 06 Nov 2026 10:15:32 GMT
Connection: close
Content-Type: text/html
Content-Length: 54
<html><body><h1>408 Request Timeout</h1></body></html> SEO 与重定向检测
偶尔出现 408 没有危害。如果爬虫频繁收到 408,说明服务器的请求超时设置过短,或者服务器负载过高,这可能导致抓取减少。重定向检测工具会立即发送完整的请求,因此很少收到 408;如果收到了,说明服务器或它前面的代理已经不堪重负。
常见原因与使用场景
- 移动网络较慢,请求体上传得太慢。
- 长连接的空闲时间超过了服务器的超时时间。
- 负载均衡器或服务器中的请求头或请求体超时设置得很短,例如 nginx 中的
client_header_timeout和client_body_timeout。 - 针对慢速请求攻击(Slowloris)的防护措施切断了慢速客户端。