api
resource_error
ai_generated
partial
429 Too Many Requests — Rate limit headers missing in response
ID: api/rest-api-rate-limit-header-missing
75%Fix Rate
82%Confidence
1Evidence
2024-01-20First Seen
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| REST API v2.1 | active | — | — | — |
| nginx rate limiting module v1.24 | active | — | — | — |
| AWS API Gateway v2 | active | — | — | — |
Root Cause
API server enforces rate limiting but does not include standard headers like X-RateLimit-Remaining or Retry-After, making client backoff impossible.
generic中文
API 服务器强制执行速率限制,但未包含标准头部(如 X-RateLimit-Remaining 或 Retry-After),导致客户端无法进行退避。
Official Documentation
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-AfterWorkarounds
-
80% success Implement a fixed delay between requests (e.g., 1 second) to stay under the rate limit.
Implement a fixed delay between requests (e.g., 1 second) to stay under the rate limit.
-
85% success Use a token bucket algorithm client-side to self-throttle.
Use a token bucket algorithm client-side to self-throttle.
中文步骤
Implement a fixed delay between requests (e.g., 1 second) to stay under the rate limit.
Use a token bucket algorithm client-side to self-throttle.
Dead Ends
Common approaches that don't work:
-
60% fail
Without Retry-After, the client may back off too long or too short, leading to wasted time or continued throttling.
-
70% fail
The issue is missing headers, not the limit value; increasing limit may not fix the client's inability to adapt.
-
80% fail
Many APIs do not include retry info in the body; relying on it is fragile and non-standard.