4. 429 请求过多 (Too Many Requests)
429 状态码表示用户在给定时间内发送了过多请求 ("速率限制")。
响应表示应该 (SHOULD) 包含解释该条件的详细信息,并且可以 (MAY) 包含 Retry-After 头,指示在发出新请求之前需要等待多长时间。
例如:
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>I only allow 50 requests per hour to this Web site per
logged in user. Try again soon.</p>
</body>
</html>
请注意,本规范未定义源服务器如何识别用户,也未定义它如何计数请求。例如,限制请求速率的源服务器可以基于每个资源、整个服务器甚至一组服务器的请求计数来执行此操作。同样,它可能通过身份验证凭据或有状态的 cookie 来识别用户。
带有 429 状态码的响应不得 (MUST NOT) 被缓存存储。