فهم رموز حالة HTTP: مرجع كامل
في كل مرة يزور فيها متصفحك موقعًا إلكترونيًا، يحدث حوار صامت بين العميل والخادم. يرسل العميل طلبًا، ويستجيب الخادم ببيانات ورمز حالة HTTP. يخبرك هذا الرمز المكون من ثلاثة أرقام ما إذا كان كل شيء يعمل، أو إذا كان هناك خطأ ما، أو إذا كان هناك حاجة إلى إجراء آخر. يغطي هذا الدليل جميع رموز حالة HTTP التي تحتاج إلى معرفتها، مع شروحات عملية وأمثلة.
ما هي رموز حالة HTTP؟
رموز حالة HTTP هي أرقام مكونة من ثلاثة أرقام يصدرها الخادم استجابة لطلب العميل. تشير إلى نتيجة الطلب. تنقسم الرموز إلى خمس فئات بناءً على الرقم الأول:
| الفئة | النطاق | المعنى |
|---|---|---|
| 1xx | 100-199 | معلوماتي — الطلب قيد التقدم |
| 2xx | 200-299 | نجاح — تم استلام الطلب وفهمه وقبوله |
| 3xx | 300-399 | إعادة توجيه — إجراء إضافي مطلوب |
| 4xx | 400-499 | خطأ العميل — الطلب يحتوي على أخطاء |
| 5xx | 500-599 | خطأ الخادم — فشل الخادم في تلبية طلب صالح |
رموز 1xx: معلوماتية
تستخدم بشكل أساسي للإشارة إلى أن الخادم قد استلم الطلب ويواصل معالجته. هذه الرموز نادرة في تطوير الويب اليومي.
- 100 Continue: تلقى الخادم رؤوس الطلب ويجب على العميل الاستمرار في إرسال الجسم.
- 101 Switching Protocols: يوافق الخادم على تبديل البروتوكولات (مثل HTTP إلى WebSocket).
- 102 Processing: تلقى الخادم الطلب ويقوم بمعالجته (يستخدم لطلبات WebDAV).
رموز 2xx: نجاح
تشير إلى أن الخادم قد استلم الطلب وفهمه وقبله بنجاح. هذه هي الرموز التي تريد رؤيتها.
- 103 Early Hints: يرسل الخادم بعض الرؤوس قبل إعداد الاستجابة الكاملة (تحسين الأداء).
- 202 Accepted: تم قبول الطلب لكنه لم يكتمل بعد. يستخدم للمعالجة غير المتزامنة.
- 206 Partial Content: يرسل الخادم جزءًا فقط من المورد بسبب رأس Range في الطلب.
- 207 Multi-Status: استجابة تحتوي على رموز حالة متعددة لعمليات متعددة (WebDAV).
رموز 3xx: إعادة توجيه
تطلب من العميل اتخاذ إجراء إضافي لإكمال الطلب، عادة عن طريق اتباع إعادة توجيه إلى عنوان URL جديد.
- 300 Multiple Choices: الطلب لديه أكثر من استجابة محتملة. يجب على العميل اختيار واحدة.
- 303 See Other: يجب على العميل استخدام GET لاسترداد المورد من عنوان URL آخر.
- 307 Temporary Redirect: إعادة توجيه مؤقتة، يجب على العميل الحفاظ على طريقة HTTP.
- 308 Permanent Redirect: إعادة توجيه دائمة، يجب على العميل الحفاظ على طريقة HTTP.
- 406 Not Acceptable: لا يمكن للخادم إنتاج استجابة تطابق رؤوس Accept.
رموز 4xx: خطأ العميل
تشير إلى أن الطلب يحتوي على أخطاء من جانب العميل تمنع الخادم من معالجته.
- 408 Request Timeout: استغرق العميل وقتًا طويلاً لإرسال الطلب.
- 409 Conflict: يتعارض الطلب مع الحالة الحالية للمورد.
- 410 Gone: المورد غير متوفر بشكل دائم ولن يكون متاحًا مرة أخرى.
- 411 Length Required: يتطلب الطلب رأس Content-Length وهو مفقود.
- 413 Payload Too Large: حجم الطلب أكبر من المسموح به.
- 414 URI Too Long: عنوان URI المطلوب أطول مما يمكن للخادم تفسيره.
رموز 5xx: خطأ الخادم
تشير إلى أن الخادم فشل في تلبية طلب صالح، مما يشير إلى مشكلة في جانب الخادم.
- 415 Unsupported Media Type: تنسيق الوسائط للطلب غير مدعوم.
- 422 Unprocessable Entity: الطلب منسق جيدًا لكنه يحتوي على أخطاء دلالية (أخطاء تحقق).
- 504 Gateway Timeout: لم يتلق الخادم الوكيل استجابة في الوقت المناسب من الخادم المنبع.
- استخدم الرموز الصحيحة: رمز الحالة الخاطئ يضلل العملاء وأدوات المراقبة. استخدم الاصطلاحات القياسية.
رموز HTTP الشائعة
إليك أكثر رموز حالة HTTP شيوعًا التي ستواجهها في تطوير الويب اليومي:
- أرجع أجسام استجابة ذات مغزى: قم بتضمين رسائل خطأ قابلة للقراءة البشرية مع رموز الخطأ.
- كن متسقًا: استخدم نفس الرموز باستمرار عبر API الخاص بك. لا ترجع 200 مع رسالة خطأ.
- استخدم 429 لتحديد المعدل: قم بتضمين رأس Retry-After للإشارة إلى متى يمكن للعميل إعادة المحاولة.
- سجل رموز 5xx: يجب تسجيل أخطاء الخادم ومراقبتها. إنها تشير إلى أخطاء تحتاج إلى الاهتمام.
- استخدم 422 لأخطاء التحقق: 400 يشير إلى أخطاء نحوية، 422 يشير إلى أخطاء دلالية (تحقق من صحة).
إليك بعض أفضل الممارسات لاستخدام رموز حالة HTTP بشكل صحيح:
المرجع السريع لرموز HTTPأفضل الممارسات
200 OK
استخدم أدوات المطور في المتصفح لمراقبة رموز حالة HTTP. علامة تبويب الشبكة تظهر كل طلب مع رمز حالته. قم بتصفية الرموز عن طريق خطأ (4xx) أو خطأ الخادم (5xx) للعثور على المشاكل بسرعة.
201 Created
رمز حالة HTTP هو رقم مكون من ثلاثة أرقام يخبرك ما إذا كان طلب HTTP قد نجح أم لا. يشير الرقم الأول إلى الفئة: 1xx معلوماتي، 2xx نجاح، 3xx إعادة توجيه، 4xx خطأ العميل، 5xx خطأ الخادم. الرموز الشائعة تشمل 200 OK و 404 Not Found و 500 Internal Server Error.
204 No Content
401 Unauthorized يعني أن العميل لم يقدم بيانات اعتماد مصادقة صالحة. 403 Forbidden يعني أن العميل تمت مصادقته لكنه لا يملك إذنًا للوصول إلى المورد. من الناحية الفنية: 401 يقول 'من أنت؟'، 403 يقول 'أعرف من أنت، لكن لا يمكنك الدخول هنا.'
301 Moved Permanently
301 Moved Permanently يقول أن المورد انتقل بشكل دائم إلى عنوان URL جديد. تقوم محركات البحث بتحديث فهارسها. 302 Found (أو 307 Temporary Redirect) يقول أن المورد موجود مؤقتًا في عنوان URL مختلف. تحتفظ محركات البحث بعنوان URL الأصلي في فهارسها.
302 Found
استخدم 429 Too Many Requests عندما يتجاوز العميل حد المعدل. قم بتضمين رأس Retry-After لتحديد المدة التي يجب على العميل الانتظار فيها. هذا يحمي الخادم من سوء الاستخدام أو الحلقات العرضية.