أكواد حالة HTTP
مرحباً دعونا نتحدث عن أكواد حالة HTTP.
أكوادحالة HTTP – يتم إصدار أكواد الحالة بواسطة الخادم (server) استجابةً لطلب العميل(client) المقدم إلى الخادم(server). رمز الحالة المفضل لدي هو: “418: أنا إبريق الشاي”. هذه ليست مزحة!
إذا كنت تحب أن تعرف كل رموز الحالة؟ ها هي القائمة الخاصة بهم!
الأقسام:
1×× معلوماتية
2×× نجاح
3×× إعادة التوجيه
4×× خطأ عميل (client)
5×× خطأ خادم (server)
سهل التذكر؟ دعونا نفحص قائمة أكواد حالة HTTP…
كود الحالة: 100 استمر
تم إستلام الجزء الأولي من الطلب ولم يتم رفضه من قبل الخادم (server) بعد. ويعتزم الخادم (server) إرسال رد نهائي بعد تلقي الطلب بالكامل واتخاذ إجراء بشأنه.
كود الحالة: 101 تشغيل البرتوكول
الخادم (server) يتفهم طلب العميل (client) عبر الترقية في ترويسة (header) الحقل1 وهو مستعد للالتزام به وتغيير بروتوكول التطبيق المستخدم في هذا الاتصال.
استجابات ناجحة
كود الحالة: 200 جيد
تعتمد الحمولة المرسلة في إستجابة 200 على دالة الطلب. بالنسبة للدوال التي تحددها هذه المواصفات، يمكن تلخيص المعنى المقصود للحمولة على النحو التالي:
GET: تم جلب المصدر، ويتم إرساله في جسم (body) الرسالة.
HEAD: ترويسة الكيانات (entities) موجودة في جسم (body) الرسالة.
POST: يتم إرسال المصدر الذي يصف نتيجة الفعل (action) في جسم (body) الرسالة.
TRACE: يحتوي جسم الرسالة على رسالة الطلب كما وردت بواسطة الخادم (server).
كود الحالة: 201 مُنشأ
تم استيفاء الطلب، ونتج عنه إنشاء واحد أو أكثر من المصادر. وعادة ما يتم وصف حمولة الاستجابة 201 وربطها بمصدر أو مصادر منشأة.
كود الحالة: 202 موافق عليه
تم قبول الطلب للمعالجة، ولكن لم يتم الانتهاء من المعالجة. قد يتم أو قد لا يتم البت في الطلب في نهاية المطاف، حيث أنه قد يكون غير مسموح به عند إجراء المعالجة فعلياً.
كود الحالة: 203 معلومات غير موثوقة
نجح الطلب ولكن تم تعديل الحمولة المرفقة بواسطة استجابة 200 جيد من الخادم (server) الأصلي، عن طريق وكيل (proxy) تحويل.
يسمح كود الحالة هذا للوكيل (proxy) بإخطار المتلقين عند تطبيق التحويل حيث أن تلك المعرفة قد تؤثر على القرارات اللاحقة المتعلقة بالمحتوى.
كود الحالة: 204 لايوجد محتوى
نفذ الخادم (server) الطلب بنجاح ولا يوجد محتوى إضافي لإرساله إلى جسم (body) حمولة الاستجابة.
على سبيل المثال، إذا تم إستلام كود حالة 204 إستجابة لطلب PUT واحتوت الاستجابة على ترويسة (header) حقل ETag، فإن طلب PUT قد نجح وقيمة الحقل لـ ETag تحتوي على علامة تمييز الكيان (entity-tag) للتمثيل الجديد لذلك المصدر المستهدف.
كود الحالة: 205 إعادة تعيين المحتوى
نفذ الخادم الطلب ويرغب في أن يقوم وكيل المستخدم بإعادة تعيين “عرض المستند” الذي تسبب في إرسال الطلب إلى حالته الأصلية كما تم استلامه من الخادم (server) الأصلي.
كود الحالة: 206 محتوى جزئي
يتم إستخدام كود الرد هذا بسبب نطاق الترويسة (header) الذي يرسله العميل (client) لفصل عملية التحميل في جهات متعددة.
رسائل إعادة التوجيه.
كود الحالة: 300 خيارات متعددة
يحتوي المصدر الهدف على أكثر من تمثيل واحد، لكل منها معرّف خاص، كما يتم توفير معلومات حول البدائل بحيث يستطيع المستخدم (أو وكيل المستخدم) تحديد تمثيل مفضل عن طريق إعادة توجيه طلبه إلى واحد أو أكثر من تلك المعرّفات.
كود الحالة: 301 نقل دائم
تم تعيين المصدر الهدف كعنوان URI دائم جديد، كما يجب استخدام أحد عناوين URI أي مراجع مستقبلية لهذا المصدر.
تكون إستجابة 301 قابلة للتخزين بشكل افتراضي، ما لم يتم الإشارة إلى خلاف ذلك من خلال تعريف الدالة أو عناصر تحكم ذاكرة التخزين المؤقت الصريحة.
كود الحالة: 302 موجود
يعني كود الرد هذا عنوان URI للمصدر المطلوب تم تغييره مؤقتاً. وقد يتم إجراء تغييرات جديدة في الـ URI في المستقبل. ولذلك، ينبغي أن يستخدم العميل (client) نفس هذه البيانات الموحدة في الطلبات المقبلة.
كود الحالة: 303 راجع شيء آخر
أرسل الخادم (server) هذه الاستجابة لتوجيه العميل (client) للحصول على المصدر المطلوب إلى URI آخر مع طلب GET.
كود الحالة: 304 غير معدل
تم استلام طلب GET أو HEAD مشروط، ويمكن أن يؤدي إلى رد 200 جيد، إذا لم يكن الأمر يتعلق بأن الشرط قد تم تقييمه على أساس خاطئ.
كود الحالة: 305 استخدام الوكيل (proxy)
وهذا يعني أن الاستجابة المطلوبة مهملة الآن ويجب الوصول إليها بواسطة وكيل (proxy). كود الرد هذا غير مدعوم بشكل كبير لأسباب أمنية.
كود الحالة: 306 غير مستخدم
لم يعد كود الرد هذا مستخدم، لكنه محجوز فقط حالياً. تم إستخدامه في إصدار سابق من مواصفات HTTP1.1.
كود الحالة: 307 إعادة توجيه مؤقت
المصدر الهدف يقيم مؤقتاً تحت URI مختلف، ووكيل المستخدم يجب أن لا يُغير دالة الطلب إذا قام بإجراء إعادة توجيه تلقائي إلى URI.
هذا له نفس المعنى الدلالي من كود إستجابة HTTP 302 موجود، مع إستثناء أنه يجب ألا يقوم وكيل المستخدم بتغيير دالة HTTP المستخدمة: إذا تم إستخدام POST في الطلب الأول، يجب إستخدام POST في الطلب الثاني.
كود الحالة: 400 طلب سيء
لا يستطيع الخادم (server) معالجة الطلب أو لن يقوم بذلك بسبب وجود خطأ عند العميل (client) (على سبيل المثال، بناء جملة طلب غير صالحة التكوين أو صياغة رسالة طلب غير صحيحة أو توجيه طلب خادع).
كود الحالة: 401 غير مصرح
يتطلب الأمر المصادقة للحصول على الاستجابة المطلوبة. هذا مشابه لكود الحالة 403، ولكن في هذه الحالة، المصادقة ممكنة.
كود الحالة: 402 الدفع مطلوب
كود الاستجابة هذا محجوز للاستخدام في المستقبل.كان الهدف الأولي من إنشاء هذا الكود هو إستخدامه في أنظمة الدفع الرقمية إلا أنه لا يستخدم حالياً.
كود الحالة: 403 محظور
فهم الخادم (server) الطلب ولكنه رفض التصريح به. وهذا يعني أن العميل (client) لا يملك حق الوصول إلى المحتوى، لذلك يرفض الخادم (server) إعطاء استجابة صحيحة.
كود الحالة: 404 غير موجود
تعذر على الخادم العثور على المصدر المطلوب. ربما يكون هذا الكود الأكثر شهرة بسبب تكرار حدوث ذلك في الويب.
كود الحالة: 405 الدالة غير مسموح بها
الدالة التي تم استلامها في سطر الطلب معروفة من قبل الخادم (server) الأصلي لكنها غير مدعومة من المصدر الهدف.
كود الحالة: 406 غير مقبول
يتم إرسال هذه الاستجابة عندما لا يجد خادم (server) الويب أي محتوى يتبع المعايير التي يعطيها وكيل المستخدم، وذلك بعد إجراء مفاوضات حول المحتوى الذي يقوده الخادم (server-driven).
كود الحالة: 407 مصادقة الوكيل مطلوبة
مشابه لكود الحالة 401 غير مصرح به، ولكنه يشير إلى أن العميل (client) يحتاج للمصادقة من أجل إستخدام وكيل (proxy).
كود الحالة: 408 انتهاء مهلة الطلب
لم يتلق الخادم(server) رسالة طلب كاملة خلال الوقت المهيأ له للانتظار.
كود الحالة: 409 تعارض
تعذر إكمال الطلب بسبب وجود تعارض مع الحالة الحالية للمصادر المستهدفة. يستخدم هذا الكود في الحالات التي قد يتمكن فيها المستخدم من حل التعارض وإعادة تقديم الطلب.
كود الحالة: 410 ذهب
سيتم إرسال هذا الرد عند إزالة المحتوى المطلوب من الخادم (server) ومن المحتمل أن يكون هذا الشرط دائماً. إذا كان الخادم الأصلي لا يعرف أو لا يملك أي مرفق لتحديد ما إذا كان الشرط دائماً أم لا، فيجب إستخدام رمز الحالة 404 لم يتم العثور عليه بدلاً من ذلك.
كود الحالة: 411 الطول مطلوب
رفض الخادم (server) الطلب لأن طول محتوى (content-length) ترويسة الحقل غير معرف ويحتاج الخادم (server) لمعرفة لذلك.
كود الحالة: 412 فشل الشرط المسبق
يسمح كود الاستجابة هذا للعميل (client) بوضع شروط مسبقة في حالة المصدر الحالي (بياناته الحالية وبيانات التعريف)، وبالتالي، منع تطبيق دالة الطلب إذا كان المصدر الهدف في حالة غير متوقعة.
كود الحالة: 413 الحمولة كبيرة جداً
يرفض الخادم (server) معالجة الطلب لأن حمولة الطلب أكبر من رغبة الخادم (server) أو قدرته على المعالجة.
كود الحالة: 414 URI طويل جداً
إذا رفض الخادم (server) الطلب، لأن طول الـ URI المطلوب من قبل العميل (client) أطول من ما يمكنه ترجمته.
كود الحالة: 415 نوع الوسائط غير مدعوم
تنسيق الوسائط للبيانات المطلوبة غير مدعوم من الخادم (server)، لذلك يرفض الخادم الطلب.
كود الحالة: 416 النطاق المطلوب غير قابل للقبول
يتعذر اكمال النطاق الذي يحدده نطاق ترويسة (header) الحقل في الطلب؛ من الممكن أن يكون النطاق خارج حجم بيانات URI المستهدفة.
كود الحالة: 417 فشل التوقعات
يعني كود الاستجابة هذا أن التوقعات التي تم الإشارة إليها في توقع طلب ترويسة الحقل (request-header field) لا يمكن للخادم استيفاء الطلب.
كود الحالة: 421 طلب خاطئ
تم توجيه الطلب إلى خادم (server) غير قادر على تقديم استجابة. يمكن إرسال هذا بواسطة خادم (server) لم يتم تهيئته لإنتاج رد استجابة لمجموعة من المخططات والمرجعيات التي تم تضمينها في طلب URI.
كود الحالة: 426 ترقية مطلوبة
يرفض الخادم (server) تنفيذ الطلب باستخدام البروتوكول الحالي ولكنه قد يكون مستعدا للقيام بذلك بعد ترقية العميل (client) إلى بروتوكول مختلف.
كود الحالة: 428 شرط مسبق
يطلب الخادم (server) الأصلي أن يكون الطلب مشروطاً.
كود الحالة: 429 طلبات كثيرة جداً
يتم إنشاء هذا الكود عندما يقوم العميل (client) بإرسال طلبات كثيرة في فترة زمنية محددة.
كود الحالة: 431 طلب ترويسة (header) الحقول كبير جداً
لا يرغب الخادم (server) في معالجة الطلب لأن ترويسة الحقول (header fields) كبيرة جدا. قد يتم إعادة إرسال الطلب بعد تقليل حجم ترويسة الحقل(header field) في الطلب.
كود الحالة: 451 غير متاح لأسباب قانونية
يطلب المستخدم مصدراً غير قانوني، مثل صفحة ويب خاضعة للرقابة من قبل الحكومة.
استجابات خادم (server) خاطئة
كود الحالة: 500 خطأ في الخادم (server) الداخلي
صادف الخادم (server) حالة غير متوقعة عندما لم يعرف كيف يتعامل مع الطلب ومنع الاستيفاء بالطلب.
كود الحالة: 501 لم يُنفذ
لا يدعم الخادم (server) الوظائف المطلوبة لاستيفاء بالطلب.
كود الحالة: 502 مدخل خاطئ
تعني إستجابة الخطأ هذه أن الخادم (server)، أثناء عمله كبوابة للحصول على الإستجابة المطلوبة للتعامل مع الطلب، حصل على إستجابة غير صحيحة.
كود الحالة: 503 الخدمة غير متوفرة
يتعذر على الخادم (server) حالياً معالجة الطلب بسبب وجود حمل زائد مؤقت أو صيانة مجدولة، ومن المحتمل تخفيفها بعد مدة معينة.
كود الحالة: 504 انتهاء مهلة البوابة
لم يتلق الخادم (server) رداً في الوقت المناسب من خادم أعلى (upstream server) يحتاج إلى الوصول إليه من أجل إكمال الطلب ، في حين أنه يعمل كبوابة أو وكيل (proxy).
كود الحالة: 505 نسخة HTTP غير مدعومة
لا يدعم الخادم (server) أو يرفض دعم الإصدار الرئيسي من بروتوكول HTTP المستخدم في رسالة الطلب.
كود الحالة: 506 المتغير أيضاً يتفاوض
الخادم (server) لديه خطأ في التهيئة الداخلية: المصدر المتغير المختار تم تهيئته للدخول في مفاوضات شفافة حول المحتوى نفسه، وبالتالي فهو ليس نقطة نهاية مناسبة في عملية التفاوض.
كود الحالة: 507 تخزين غير كافي
تعذر تنفيذ الدالة على المصدر نظراً لعدم تمكن الخادم من تخزين التمثيل اللازم لإتمام الطلب بنجاح. ويعتبر هذا الشرط مؤقتاً.
كود الحالة: 511 مصادقة الشبكة مطلوبة
يشير كود الحالة 511 إلى أن العميل (client) يحتاج للمصادقة للوصول إلى الشبكة.