Web Technology

HTTP Status Codes
أكواد حالة HTTP

أكواد حالة HTTP

التاريخ

15 أبريل 2024

الدروس

43

المستوى

متقدم

اللغة

انجليزي

المشاهدات

201

المواضيع

4
الشروحات chevron_left HTTP Status Codes chevron_left Web Technology

HTTP Status Codes
أكواد حالة HTTP

</> HTTP Status Codes
أكواد حالة HTTP

تُعتبر أكواد الحالة HTTP status codes في بروتوكول HTTP أداة مهمة في التواصل بين الخادم والمستخدم عبر الإنترنت، حيث ترد الخوادم بهذه الأكواد على طلبات المستخدم user requests، تتألف الأكواد من ثلاثة أرقام يُحدد الرقم الأول منها فئة الاستجابة response التي تشير إلى التصنيف العام الذي يندرج تحته كود الحالة status code في بروتوكول HTTP، حيث تقدم كل فئة معلومات حول نوع الاستجابة response التي يقدمها الخادم للطلب.

على سبيل المثال، الأكواد التي تبدأ بالرقم 1 تشير إلى معلومات أولية، والأكواد التي تبدأ بالرقم 2 تشير إلى نجاح العملية، والأكواد التي تبدأ بالرقم 3 تتعلق بإعادة التوجيه، والأكواد التي تبدأ بالرقم 4 تدل على خطأ من جهة العميل، بينما تشير الأكواد التي تبدأ بالرقم 5 إلى خطأ من جهة الخادم، تستخدم الأكواد لتوضيح حالة الطلب، سواء كان ناجحًا أو يتطلب حل مشكلة.

</> HTTP Status code components
مكونات كود الحالة HTTP

أكواد الحالة status codes تتكون من ثلاثة أرقام، وتشكّل هذه الأرقام معًا كودًا واحدًا يشير إلى حالة معينة.

الرقم الأول First Number
يحدد فئة الاستجابة response category وهو مؤشر رئيسي على نوع الاستجابة response type التي يقدمها الخادم. هناك خمس فئات رئيسية يتم تمثيلها بالأرقام من 1 إلى 5، كما يلي:

  • Informational Responses 1xx الاستجابات المعلوماتية: تشير إلى أن الطلب قيد الاستلام والمعالجة.
  • Successful Responses 2xx الاستجابات الناجحة: تعني أن الطلب قد نجح وتمت معالجته بشكل صحيح.
  • Redirection Messages 3xx رسائل إعادة التوجيه: تدل على أن التحميل يحتاج إلى إجراء إضافي، مثل الانتقال لموقع آخر.
  • Client Errors Responses 4xx استجابات أخطاء العميل: تشير إلى خطأ من المستخدم، مثل طلب غير موجود.
  • Server Errors Responses 5xx استجابات أخطاء الخادم: تدل على أن الخادم فشل في تنفيذ الطلب.

الرقمان الأخيران Fast Two Number
لا يتم استخدام الرقمان الأخيران في عملية التصنيف، ولكنهما يحددان الحالة الدقيقة ضمن الفئة العامة التي يشير إليها الرقم الأول، كل كود من أكواد الحالة يتألف عادة من استجابة فريدة تشرح بشكل أكثر تحديدًا طبيعة الطلب أو المشكلة.

</> HTTP Codes In Informational Responses
الاستجابات المعلوماتية في HTTP Codes

تتكون استجابة informational responses عادةً من سطر حالة HTTP status line، ورأس header، وتنتهي بسطر فارغ، وتُستخدم هذه الأكواد فقط في الإصدار HTTP/1.1 وليست مدعومة في الإصدار السابق HTTP/1.0، ولذلك، يجب على الخوادم ألا ترد بكود 1xx على طلبات من عملاء يستخدمون HTTP/1.0، بما أن أكواد HTTP 1xx تُعتبر فقط لأغراض معلوماتية، فإن المتصفحات والوكلاء المستخدمَة لن تقوم بمعالجة أو عرض هذه الأكواد على الشاشة الأمامية مثل ما تفعل مع فئات الأكواد الأخرى، بل تجاهلها المتصفحات وتستمر في معالجة الأجزاء المتبقية من الطلبات.

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

أكواد HTTP الخاصة بالاستجابات المعلوماتية Informational Responses

  • متابعة 100 Continue: يشير إلى أن الخادم تلقى الجزء الأول من الطلب وعلى العميل متابعة إرسال باقي البيانات.
  • بروتوكولات التبديل 101 Switching Protocols: يعني أن الخادم يوافق على تغيير البروتوكول بناءً على طلب العميل للاستفادة من إمكانيات مختلفة مثل التحويل من HTTP إلى Web Socket. 
  • المعالجة 102 Processing: يدل على أن الخادم يستغرق وقتًا أطول لمعالجة الطلب والذي يحتاج إلى عمليات أطول قبل الوصول إلى استجابة نهائية.
  • تلميحات مبكرة 103 Early Hints: يوفر للعملاء تلميحات مبكرة عن الموارد التي يمكن جلبها بشكل مسبق قبل أن يتم الحصول على الاستجابة النهائية للطلب.

</> 100 Continue
متابعة 100

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

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

The Status

نمط كود الحالة 100 Continue

100 Continue
100 Request from client to server using continue

يطلب العميل تأكيد من الخادم باستخدام الكود 100 continue قبل تحميل ملف كبير بالكامل.

POST /upload HTTP/1.1
Host: www.example.com
Content-Length: 10256423
Expect: 100-continue
Server response to the client

تُشير الاستجابة response إلى أن الخادم استلم جزء من الطلب ويأذن للعميل بمواصلة إرسال باقي البيانات.

HTTP/1.1 100 Continue

</> Switching Protocols 101
بروتوكولات التبديل 101

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

عندما يقوم الخادم بالموافقة على طلب العميل لتبديل البروتوكول، فإنه يُصدر كود الحالة Switching Protocols 101، يعني  أن الخادم قد وافق على التغيير، وأصبح الاتصال الآن يستخدم البروتوكول الجديد WebSocket.
ملحوظة
WebSocket هو بروتوكول اتصال يتيح تبادل البيانات بشكل ثنائي الاتجاه ومستمر بين العميل والخادم عبر اتصال واحد، مما يوفر اتصالاً أكثر استدامة وفعالية للتطبيقات التي تتطلب تحديثات في الوقت الحقيقي مثل الدردشة الحية والألعاب عبر الإنترنت.
The Status

نمط كود الحالة 101 Switching Protocols

101 Switching Protocols
Request from Client to Server Using Switching Protocols 101

عندما يريد العميل التبديل من HTTP إلى WebSocket، يُرسل طلبًا يحتوي على تفاصيل التبديل في رأس الطلب.

GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==
Sec-WebSocket-Version: 13
Server response to the client

إذا كان الخادم يدعم WebSocket ويرغب في ترقية الاتصال، فإنه يرد برمز الحالة 101 Switching Protocols.

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=

</> Processing 102
المعالجة 102

كود الحالة 102 Processing في بروتوكول HTTP هو جزء من مجموعة استجابات مؤقتة، حيث يستخدم لإبلاغ العميل بأن الخادم قد استلم الطلب ويعمل حاليًا على معالجته.

هذا الكود يكون مفيدًا بشكل خاص في الحالات التي يحتاج فيها الخادم إلى وقت طويل لاستكمال المعالجة، مما يساعد في الحفاظ على التواصل بين العميل والخادم وتجنب انقضاء مهلة الاتصال.
The Status

نمط كود الحالة 102 Processing

102 Processing
Request from client to server using switching protocols 102

يستخدم الخادم كود 102 Processing لإبلاغ العميل بأن طلب البحث المعقد قيد المعالجة لمنع انقضاء المهلة.

```http
POST /search HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 150

{
"query": "search term",
"filters": {
"date": "2023-01-01",
"category": "technology"
}
}
Title Example of HTTP Processing Response 102

الرمز HTTP 102 Processing يشير إلى أن الخادم قد استلم الطلب ويقوم بمعالجته حاليًا لمنع انقضاء المهلة.

HTTP/1.1 102 Processing
Example of HTTP 200 OK Response with JSON Search Results

استجابة HTTP 200 OK تعرض نتائج بحث بنجاح، مضمنة تفاصيل وعناوين المقالات بصيغة JSON.

HTTP/1.1 200 OK
   Content-Type: application/json
   Content-Length: 300

   {
       "status": "success",
       "results": [
           {
               "title": "Latest Technology Trends",
               "link": "https://example.com/articles/1",
               "snippet": "Explore the latest technology trends for 2023..."
           },
           {
               "title": "AI Innovations",
               "link": "https://example.com/articles/2",
               "snippet": "Discover the innovations in AI for the new year..."
           }
       ]
   }

</> Early Hints 103
تلميحات مبكرة 103

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

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

نمط كود الحالة Early Hints 103

103 Early Hints




</> HTTP Codes In Successful Responses
الاستجابات الناجحة في HTTP Codes



</> HTTP Codes In Redirection Messages
رسائل إعادة التوجيه في HTTP Codes



</> HTTP Codes In Client Errors Responses
استجابات أخطاء العميل في HTTP Codes



</> HTTP Codes In Server Errors Responses
استجابات أخطاء الخادم في HTTP Codes



معلومات تهمك
  • لا تنس تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنس مشاركة الموقع مع أصدقائك حتى تعمّ الفائدة وتكون سببًا في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات