ماذا يعني
أرسل العميل طلبات كثيرة جدًا خلال فترة معينة (تحديد المعدل). وقد تذكر Retry-After مدة الانتظار.
الأسباب الشائعة
- تجاوز حدود المعدل أو الحصص في الواجهة
- حلقات إعادة محاولة دون تراجع
- مستخدمون كثيرون خلف عنوان IP مشترك واحد
طريقة الإصلاح
إن كنت العميل أو الزائر
احترم Retry-After، واستخدم التراجع الأسي مع عشوائية، وخزّن النتائج واجمع الطلبات في دفعات.
إن كنت مسؤولًا عن الموقع أو الواجهة البرمجية
أعد ترويستي Retry-After وRateLimit ليتكيف العملاء، وحدّد المعدل لكل مفتاح أو مستخدم لا لكل IP فقط.
مثال على الاستجابة
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."
} المواصفة
الأسئلة الشائعة
› كم أنتظر بعد 429؟
استخدم Retry-After إن وُجدت؛ وإلا فتراجع أسيًا، مثل 1 ثم 2 ثم 4 ثم 8 ثوانٍ مع عشوائية.
› هل يضر 429 بتحسين محركات البحث؟
يبطئ Googlebot الزحف عندما يرى 429. الفترات القصيرة لا بأس بها؛ أما الطويلة فقد تؤخر الفهرسة.