...
شرح رموز حالات HTTP

بمجرد استخدام الإنترنت ، ربما تكون قد صادفت بعض رموز HTTP ، مثل رمز الحالة 404 ، ولكن هذا مجرد احتمال عام لعدد من الاحتمالات. يوجد أكثر من رمز او حالة HTTP فريد عبر خمس فئات مختلفة. طبعا لا تحتاج إلى معرفة جميعها أو حتى معرفة معظمها حقًا. في هذه المقالة سوف أقوم بتفصيل ماأهمية كل قسم من الأقسام الخمسة بالإضافة إلى رموز الحالة الأكثر أهمية في كل قسم من هذه الأقسام.

باستخدام هذه المعلومات ، يمكنك بثقة إنشاء واجهات برمجة تطبيقات قوية تعيد رمز حالة HTTP المناسب الذي سيجعل واجهة برمجة التطبيقات الخاصة بك أسهل في الاستخدام.


رموز حالة المستوى 200

200 هي رموز الحالة الأكثر استخدامًا ، ولكن لحسن الحظ ، لا يوجد سوى عدد قليل تحتاج إلى معرفته. تُستخدم أكواد الحالة هذه لتمثيل استجابات ناجحة ويجب إعادتها في أي وقت ينجح فيه الطلب او اتصال مع السيرفر. وقد تعني ايضا علامة او كلمة OK ولكنه لا يقدم أي معلومات أكثر من ذلك. لهذا السبب ، فإن الحالة 200 هي الحالة الاحتياطية التي يجب أن تستخدمها لأي طلب ناجح عندما لا يكون هناك رمز أكثر تحديدًا لاستخدامه بدلاً من ذلك.

تم إنشاؤه - 201 Created

للحديث عن رموز أكثر تحديدًا ، لدينا الرمز 201. هذا رمز نجاح يقول أنه تم إنشاء المورد بنجاح. غالبًا ما سترى هذا كنتيجة لطلب POST نظرًا لأن معظم طلبات POST تُستخدم لإنشاء الأشياء. على سبيل المثال ، إذا كان لديك مسار API لإنشاء إدخال جديد في قاعدة البيانات الخاصة بك ، فيجب عليك إرجاع 201 إذا تم إنشاء هذا الإدخال بنجاح.

مقبولة - Accepted 202

يعد رمز الحالة 202 مكانًا مناسبًا بعض الشيء ، ولكنه مفيد بدرجة كافية لذلك قررت إدراجه. بشكل أساسي ، يعني هذا الرمز فقط أنه تم استلام الاستجابة بنجاح ، لكن الإجراء الفعلي للطلب (إنشاء مورد ، وتحديث البيانات ، وما إلى ذلك) لم يكتمل بعد. يستخدم هذا بشكل شائع عندما يكون القيام بمهمة معينة بطيئًا جدًا بحيث يتم وضعه في قائمة الانتظار للقيام به لاحقًا. على سبيل المثال ، إذا كنت بحاجة إلى إنشاء تقرير كبير سترسله لاحقًا إلى مستخدم عبر البريد الإلكتروني ، فيمكنك إعادة 202 لإعلام العميل بأنك تقوم بمعالجة الطلب ولكنك لم تكمله بعد. .

لا يوجد محتوى - No Content 204

رمز آخر محدد هو الرمز 204 مما يعني أن الطلب كان ناجحًا ، ولكن لا توجد بيانات لإرجاعها. هذا أمر شائع جدًا مع طلبات الحذف نظرًا لعدم وجود بيانات للرجوع إليها كاستجابة لحذف شيء ما. أكبر مفتاح لرمز الحالة هذا هو أنه لا يمكن أن يحتوي على أي بيانات في المحتوى.

رموز حالة المستوى - 300

300 رموز حالة مستوى كل شيء عن إعادة التوجيه. على سبيل المثال ، إذا تم نقل الصفحة إلى موقع جديد أو إذا كنت تريد إعادة توجيه المستخدم إلى بعض البيانات المخزنة مؤقتًا ، فستستخدم أحد رموز الحالة على مستوى 300.

منقول بشكل دائم - Moved Permanently 301

النوع الأكثر شيوعًا من رمز الحالة على مستوى 300 هو 301. هذا يشير فقط إلى أن الصفحة الموجودة على عنوان URL معين قد تم نقلها بشكل دائم إلى عنوان URL جديد. يجب إرسال عنوان URL الجديد هذا في الرد برمز 301. إذا حدث هذا ، فسيقوم المتصفح تلقائيًا بإعادة توجيه المستخدمين إلى عنوان URL الجديد. سيؤدي هذا أيضًا إلى تشغيل محركات البحث لربط جميع البيانات من عنوان URL القديم بعنوان URL الجديد حتى لا تفقد أي تصنيفات في محرك البحث عن طريق القيام بذلك.

وجد - 302 Found

على غرار الحالة 301 ، تُستخدم هذه الحالة لإخبار العميل بأن الصفحة موجودة على عنوان URL جديد ولكن هذا تغيير مؤقت. هذا يعني أن محركات البحث لن تستبدل عنوان URL القديم بعنوان URL الجديد هذا. وهو مفيد إذا كنت بحاجة إلى إرسال مستخدم إلى إصدار مختلف من نفس الصفحة ، ولكن لا تريد أن يحل هذا الإصدار من الصفحة محل نسختك الرئيسية في محركات البحث. على سبيل المثال ، إذا كنت تجري اختبارات A / B ، فستقوم 302 بإعادة توجيه نصف المستخدمين لديك إلى الإصدار البديل من الموقع. هذا مفيد أيضًا لأشياء مثل الترجمة حيث قد ترغب في إعادة توجيه المستخدمين إلى الإصدارات المترجمة من موقعك بناءً على المكان الذي ينتمون إليه.

غير معدل - 304 Not Modified

رمز حالة المستوى 300 المهم الأخير هو 304. يستخدم هذا للتخزين المؤقت ويوضح فقط أن المورد المطلوب لم يتغير . عندما يحاول العميل الوصول إلى مورد قبل انتهاء الفترة الزمنية المخزنة مؤقتًا ، سيعيد الخادم الرقم 304 لمنع الاضطرار إلى إعادة إرسال جميع البيانات إلى العميل.

رموز حالة المستوى - 400 Bad Requests

على غرار رمز الحالة 200 ، يمثل رمز الحالة 400 طلبًا عامًا سيئًا او غير مقبول. هذا يعني فقط أن البيانات التي يتم إرسالها إلى الطلب ( URL و JSON وما إلى ذلك) غير صحيحة أو مشوهة أو مفقودة أو بطريقة ما غير قابلة للاستخدام من قبل الخادم. هذه هي رسالة الحالة الافتراضية لإرسالها مرة أخرى عندما يكون لديك طلب لا يمكن التعامل معه بسبب العميل. على سبيل المثال ، إذا حاولت إرسال طلب لإنشاء مستخدم جديد ولكن لم تمرر اسمًا ، فسيرسل الخادم رمز الحالة 400 لإعلامك بأن حقل الاسم مطلوب.

غير مصرح به - 401 Unauthorized

يعد رمز الحالة 401 محيرًا بعض الشيء لأنه بينما يستخدم كلمة غير مصرح به (مما يعني أنه ليس لديك إذن) ، فإن رمز الحالة هذا يعني في الواقع أنك غير مصرح به. يتمثل الاختلاف الرئيسي هنا في أن عدم المصادقة يعني أنك لم تقم بتسجيل الدخول أو أنك حاولت تسجيل الدخول باستخدام بيانات اعتماد غير صالحة. يمكن أن يحدث هذا إذا قمت بتمرير مفتاح API غير صالح أو لم يكن هناك مفتاح API على الإطلاق عند التعامل مع واجهات برمجية لتطبيق معين او صفحة ادخال بيانات بشكل عام.

محظور - Forbidden 403

عند التعامل مع التصاريح ، يجب عليك استخدام رمز الحالة 403. تُعلم هذه الحالة العميل بأنه ليس لديه إذن لتنفيذ هذا الطلب. يجب إرجاع هذا فقط إذا كان العميل يرسل بيانات اعتماد صالحة (مثل مفتاح API صالح) ، لكنه يفتقر إلى التصاريح اللازمة للقيام بالإجراء. على سبيل المثال ، إذا حاول مستخدم أساسي الوصول إلى بيانات المسؤول ، فستعيد 403.

لا يمكن الوصول او لم يتم العثور - 404 Not Found

هذا هو رمز حالة HTTP الأكثر شيوعًا الذي يعرفه او قد تعامل معه الاغلبية على شبكة الإنترنت ويعني أنه لا يمكن العثور على المورد او مصدر الشيء الذي تم البحث عنه. يمكن استخدام هذا على سبيل المثال إذا حاولت الوصول إلى عنوان URL غير موجود أو إذا حاولت الوصول إلى شيء ما في قاعدة البيانات ولكنه غير موجود.

طلبات كثيرة جدًا - Too Many Requests 429

رمز حالة المستوى 400 النهائي المهم هو 429. يتم استخدام هذا الرمز عند التعامل مع تحديد المعدل. على سبيل المثال ، إذا سمحت فقط للمستخدمين بالوصول إلى واجهة برمجة التطبيقات الخاصة بك 30 مرة في الدقيقة وحاول شخص ما الوصول إليها 31 مرة ، فستعيد رمز الحالة 429 لإعلامهم بأنهم بحاجة إلى الانتظار لإرسال طلبهم التالي. مع مقدار الوقت للانتظار قبل أن تقبل واجهة برمجة التطبيقات الطلبات.

رموز حالة المستوى - 500 Internal Server Error

المستوى الأخير من أكواد الحالة هو المستوى 500 وهذا مشابه جدًا للمستوى 400 لكن رموز المستوى 500 تتعامل مع الأخطاء على الخادم وليس العميل.

يعتبر رمز المستوى 500 الأكثر شيوعًا حتى الآن. يقوم هذا الرمز بإعلام العميل بوجود شكل من أشكال الخطأ على الخادم. قد يرجع هذا الخطأ إلى أي شيء ناتج عن خطأ في الرمز يؤدي إلى تعطل البرنامج (حتى إذا كان هذا الخطأ ناتجًا عن بيانات عميل سيئة) ، إلى مشاكل في الوصول إلى قاعدة البيانات. يجب استخدام هذا في أي موقف يكون فيه الخادم به خطأ ولا يوجد رمز أكثر تحديدًا قابل للتطبيق.

الخدمة غير متوفرة - 503 Service Unavailable

503 شائع إلى حد ما. رمز الحالة هذا يعني فقط أن الخادم غير قادر على معالجة الطلب. هذا شائع الاستخدام عند إجراء شكل من أشكال صيانة الخادم المخطط لها حيث يكون الخادم معطلاً أثناء التحديث.

في الختام

هناك أكثر من رمز حالة اذا اردت التعرف على المزيد HTTP ، ولكن في الواقع فقط عددًا قليلاً منهم الذي نحتاج إلى فهمه بشكل فعلي.

ليصلك الجديد



Share This Post