429 Too Many Requests
HTTP 429 Too Many Requests
客户端错误响应状态码表示客户端在给定时间内发送了太多请求。这种要求客户端降低请求速率的机制通常被称为“速率限制”。
响应中可能包含一个 Retry-After
头部,以指示客户端在再次发出请求之前应该等待多长时间。
速率限制的实现方式各不相同;限制可以是服务器范围的,也可以是针对每个资源的。通常,速率限制是基于客户端的 IP 地址,但如果请求经过身份验证或包含 cookie,则也可以针对特定的用户或授权应用程序。
状态
http
429 Too Many Requests
示例
包含 Retry-After 头部的响应
以下请求由配置错误的客户端在循环中重复发送
http
GET /reports/mdn HTTP/1.1
Host: example.com
在此示例中,当客户端每分钟请求量超过设定的阈值时,服务器范围的速率限制就会激活。服务器会返回一个 429 响应,其中包含一个 Retry-After
头部,指示该客户端在 60 分钟后才能再次发送请求。
http
HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600
<html lang="en-US">
<head>
<title>Too Many Requests</title>
</head>
<body>
<h1>Too Many Requests</h1>
<p>You're doing that too often! Try again later.</p>
</body>
</html>
规范
规范 |
---|
RFC 6585 # 第四节 |