رموز حالة HTTP
الرموز الأكثر شيوعًا من واجهات البرمجة وشبكات التوصيل. استُبعدت التجريبية النادرة.
| الرمز | الاسم | المعنى |
|---|---|---|
| 200 | OK | نجاح مع محتوى |
| 201 | تم الإنشاء | تم إنشاء المورد |
| 204 | لا محتوى | نجاح بدون محتوى |
| 301 | نُقل نهائيًا | إعادة توجيه دائمة |
| 302 | وُجد | إعادة توجيه مؤقتة |
| 304 | لم يُعدَّل | استخدم النسخة المخزنة |
| 400 | طلب خاطئ | طلب العميل غير صالح |
| 401 | غير مصرح | مطلوب مصادقة أو فشلت |
| 403 | محظور | تمت المصادقة لكن مرفوض |
| 404 | غير موجود | المورد غير موجود |
| 405 | الطريقة غير مسموحة | طريقة HTTP خاطئة |
| 408 | انتهت مهلة الطلب | العميل بطيء جدًا |
| 409 | تعارض | تعارض في الحالة |
| 410 | لم يعد موجودًا | أُزيل نهائيًا |
| 422 | كيان غير قابل للمعالجة | الدلالة غير صالحة |
| 429 | طلبات كثيرة جدًا | تم تجاوز الحد المسموح |
| 500 | خطأ داخلي في الخادم | خلل في الخادم |
| 502 | بوابة خاطئة | استجابة الخادم الأعلى غير صالحة |
| 503 | الخدمة غير متاحة | محمّل بشكل زائد أو متوقف |
| 504 | انتهت مهلة البوابة | انتهت مهلة الخادم الأعلى |
ملاحظات
- 401 مقابل 403: بيانات اعتماد ناقصة/فاشلة مقابل مسجّل الدخول بلا صلاحية.
- قد تُرجع شبكة التوصيل 5xx إذا تعذّر الوصول إلى الخادم الأصلي.
فئات أكواد الحالة
الرقم الأول يخبرك بمن يتحمل المسؤولية وبماذا حدث تقريباً. فئة 1xx إعلامية نادراً ما يراها العميل. فئة 2xx تعني النجاح — 200 تم بنجاح مع جسم الطلب، و204 لا يوجد محتوى بدونه، و206 لجزء من التحميل. فئة 3xx تعني أن المورد في مكان آخر. فئة 4xx تعني أن الطلب نفسه خاطئ: تركيب رديء، أو بيانات اعتماد مفقودة، أو حد للسرعة. فئة 5xx تعني أن الخادم فشل رغم صحة الطلب. قراءة الرقم الأول فقط تخبرك بما إذا كان عليك إصلاح العميل أم تصعيد الأمر إلى جانب الخادم.
اختيار التحويل المناسب
كلا الرمزين 301 و308 يعنيان الدوام؛ وكلا الرمزين 302 و307 يعنيان العرَضية. الفرق هو كيف تُعالج الطريقة: تاريخياً كان 301 و302 يسمحان للعميل بتحويل POST إلى GET، بينما 307 و308 يحفظان الطريقة الأصلية وجسم الطلب، وهو أمر مهم لواجهات التطبيقات وإرسال النماذج. استخدم 301 لـ URL تحول فعلاً للعبود الدائمة، و302 أو 307 للتوجيه العرَض مثل صفحات الصيانة أو اختبارات A/B. احذر السلاسل — كل نقلة إضافية تكلف زمن انتقال ورابطاً، لذا حول مباشرة إلى الوجهة النهائية.
ترتيب أخطاء فئة 4xx
401 يعني أن المصادقة مفقودة أو فشلت، لذا إرسال بيانات اعتماد صالحة قد يحل المشكلة؛ 403 يعني أن الطلب فُهم ومُصادق عليه لكن غير مسموح به، وإعادة المحاولة بنفس بيانات الاعتماد لن تُفيد. 404 يعني أن المورد غير موجود؛ 410 يدل على أنه كان موجوداً وأُزيل عن قصد. 429 يعني أنك تجاوزت حداً للسرعة ويجب أن تنسحب، محترماً أي رأس Retry-After. 400 عادة يعني مدخلاً مشوهاً، و405 يعني أن الطريقة خاطئة لذلك URL، و422 يعني أن التركيب صحيح لكن المحتوى فشل التحقق.
قراءة أكواد فئة 5xx
500 خطأ داخلي عام؛ 502 بوابة رديئة تعني أن خادماً خلفياً رد بشيء غير قابل للاستخدام؛ 503 تعني أن الخدمة غير متاحة عرَضاً أو مثقلة؛ 504 تعني أن خادماً خلفياً انتهت مهلته. هذه مشكلة الخادم، ليست مشكلة المتصل، لذا الإصلاح يكون بإعادة المحاولة مع تراجع، أو فحص صحة الخوادم الخلفية، أو تخفيف الحمل. يمكن أن يصدر CDN رموز 502 أو 503 أو 504 نيابة عن منشئ لا يستطيع الوصول إليه، وهو السبب الذي يجعل الخطأ نفسه قد يأتي من مكانين مختلفين تماماً — تحقق من رؤوس الخادم وcache-status لمعرفة أيّ منهما.
أكواد الحالة عملياً: واجهات التطبيقات والخزائن
استخدمان يوميان يستحقان الانتباه. أولاً، التخزين المؤقت: 200 مع رأس Cache-Control يمكن تخزينه، و304 غير معدل يخبر العميل بإعادة استخدام نسخته، و5xx لا يجب تخزينه. ثانياً، واجهات التطبيقات: POST الذي ينشئ مورداً يجب أن يعيد 201 مع رأس Location، وDELETE غالباً يعيد 204، وPATCH الذي لا يغير شيئاً قد يعيد 200 أو 204. العملاء الملتزمون يتفرعون حسب الفئة أولاً (2xx، 4xx، 5xx) ثم حسب الرمز الدقيق، وهو ما يبقي منطق إعادة المحاولة والتراجع بسيطاً وقابلاً للتوقع.
الأسئلة الشائعة
- ماذا يعني رمز الحالة 403 في HTTP؟
- 403 يعني أن الخادم فهم الطلب وتحقّق منه لكنه يرفض منح الوصول إلى المورد. بخلاف 401، فإن تسجيل الدخول من جديد لن يحل المشكلة.
- ما الفرق بين إعادة التوجيه 301 و302 في HTTP؟
- 301 يعني نقلًا دائمًا، فيجب على العملاء ومحركات البحث استخدام العنوان الجديد. أما 302 فإعادة توجيه مؤقت ويبقى العنوان الأصلي صالحًا.
- ماذا يعني الرمز 429 وكيف أُعالجه؟
- 429 يعني تجاوز حدّ عدد الطلبات المسموح. أبطئ الطلبات والتزم بترويسة Retry-After إذا أرسلها الخادم.