429 请求过多

HTTP **429 请求过多** 客户端错误响应 状态码表示客户端在给定时间内发送了太多请求。这种要求客户端减慢请求速率的机制通常称为 "速率限制"。

可以将 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>
  <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
# 第 4 节

另请参阅