Ý nghĩa
Client đã gửi quá nhiều yêu cầu trong một khoảng thời gian (giới hạn tốc độ). Retry-After có thể cho biết phải chờ bao lâu.
Nguyên nhân thường gặp
- Vượt giới hạn tốc độ hoặc hạn mức API
- Vòng lặp thử lại không có backoff
- Nhiều người dùng sau một IP dùng chung
Cách khắc phục
Nếu bạn là máy khách hoặc người truy cập
Tuân theo Retry-After, dùng backoff lũy thừa có jitter, lưu đệm kết quả và gộp yêu cầu.
Nếu bạn quản lý trang web hoặc API
Trả header Retry-After và RateLimit để client điều chỉnh, và giới hạn theo key hoặc người dùng thay vì chỉ theo IP.
Phản hồi mẫu
HTTP/1.1
HTTP/1.1 429 Too Many Requests
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Retry-After: 30
RateLimit-Policy: 100;w=60
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Too Many Requests",
"status": 429,
"detail": "Rate limit of 100 requests per minute exceeded."
} Đặc tả
Câu hỏi thường gặp
› Nên chờ bao lâu sau 429?
Dùng Retry-After nếu có; nếu không, chờ tăng dần theo lũy thừa, ví dụ 1, 2, 4, 8 giây kèm jitter ngẫu nhiên.
› 429 có hại cho SEO không?
Googlebot giảm tốc độ thu thập khi gặp 429. Thời gian ngắn thì không sao; kéo dài có thể làm chậm lập chỉ mục.