Web Technology

HTTP Messages
رسائل HTTP

سنتعرف في هذا الدرس ما هي رسائل بروتوكول نقل النصوص HTTP أو HTTP Messages. وسنستعرض أهمية رسائل HTTP Messages، كما سنتعرف على محتويات رسالة HTTP Messages المختلفة وكيفية تكوينها لضمان تفاعل سلس وفعال بين الأطراف المتصلة.

التاريخ

24 أبريل 2024

الدروس

43

المستوى

متقدم

اللغة

انجليزي

المشاهدات

221

المواضيع

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

HTTP Messages
رسائل HTTP

</> HTTP Hypertext Transfer Protocol Messages
رسائل بروتوكول نقل النصوص HTTP

رسائل HTTP هي المكونات الأساسية التي تتيح الاتصال بين العميل والخادم على الإنترنت عبر اتصال TCP/IP. وتتكون هذه الرسائل من طلبات  HTTP requests يرسلها العميل، واستجابات HTTP responses يقدمها الخادم. وبهذه الطريقة، تُعتبر رسائل HTTP الوسيلة التي تمكن المستخدمين من التفاعل مع المواقع والتطبيقات على الإنترنت بسهولة.

تقوم رسالة الطلب بتحديد نوع العملية المطلوبة، سواء كانت جلب محتوى، أو إرسال بيانات [مثل اسم مستخدم وكلمة مرور]، أو حذف مورد معين، وذلك باستخدام الطرق الشائعة مثل GET، POST، PUT، و DELETE.

ومن ناحية أخرى، تحتوي رسائل الاستجابة على معلومات مثل حالة الطلب، والمحتوى المطلوب، وأي رؤوس headers إضافية توفر تفاصيل أكثر عن الاتصال والتفاعل. ويستخدم بروتوكول HTTP معرف الموارد الموحد URI لتحديد مورد معين [مثل صفحة ويب من موقع ويب] وإنشاء اتصال.

Request & Response
  • رسائل بروتوكول HTTP يمكن أن تكون إما طلبًا request من العميل أو استجابة response من الخادم للعميل.
  • عندما يقوم العميل، مثل متصفح الويب، بإرسال طلب للحصول على صفحة ويب أو إرسال بيانات، فإن هذا يُسمى "طلب".
  • عندما يستجيب الخادم لهذا الطلب، بإرسال المحتوى المطلوب أو تأكيد استلام البيانات، فإن هذه الاستجابة تُسمى "استجابة".
  • هذه الرسائل هي الطريقة التي يتفاعل بها المستخدمون مع المواقع والتطبيقات على الإنترنت.

</> Importance of HTTP message
أهمية رسالة HTTP

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

أهمية رسالة HTTP:

  • جسر الاتصال Communication Bridge: رسائل HTTP تمثل الوسيط بين العميل [مثل المتصفح أو تطبيق العميل] والخادم. توضح طلبات HTTP request ما يحتاجه العميل، بينما تعيد استجابات HTTP response المحتوى المطلوب أو نتائج العمليات من الخادم.

  • تنوع العمليات Variety of Operations: تدعم رسائل HTTP مجموعة واسعة من العمليات. باستخدام طرق مختلفة مثل [GET]، [POST]، [PUT]، و [DELETE]، يمكن للعملاء والخوادم تنفيذ مهام متعددة بدءًا من جلب البيانات إلى تحديثها أو حذفها.

  • تفاعل المستخدم User Interaction: تمكن رسائل HTTP المستخدمين من التفاعل مع المواقع والتطبيقات على الإنترنت بسهولة. عندما يقوم المستخدم بملء نموذج على صفحة ويب وضغط زر الإرسال، يتم إرسال هذه البيانات كرسالة HTTP إلى الخادم.

  • إدارة المحتوى Content Management: تتيح رسائل HTTP للخوادم إرسال أنواع مختلفة من المحتوى إلى العملاء. يمكن أن تكون هذه المحتويات صفحات HTML، ملفات JSON، صور، فيديوهات، أو أي نوع آخر من البيانات. هذا التنوع يُمَكِّن المواقع والتطبيقات من توفير تجربة مستخدم غنية ومتنوعة.

  • التحكم في الأمان والجلسات Security and Session Control: يمكن استخدام رؤوس HTTP headers لتوفير معلومات أمنية وإدارة الجلسات. مثلًا، يمكن لرأس  authorization تمرير بيانات المصادقة، بينما يمكن لرؤوس HTTP headers مثل [Set-Cookie] إدارة الجلسات بين العميل والخادم. 

  • تحسين الأداء Performance Improvement: تساهم رسائل HTTP في تحسين أداء التطبيقات عبر آليات مثل التخزين المؤقت caching، ضغط البيانات compression، وتجزئة المحتوى content fragmentation لتجعل النقل أكثر كفاءة وسرعة.

  • القابلية للتوسعة Extensibility: باستخدام رؤوس HTTP headers القابلة للتخصيص، يمكن توسيع وظيفة HTTP لتلبية متطلبات محددة. يمكن للمطورين إضافة رؤوس HTTP headers جديدة لتوفير معلومات إضافية وتحسين الاتصالات بين العملاء والخوادم.
ملاحظة
  • ضغط البيانات compression هو عملية تقليل حجم البيانات المنقولة بين الخادم والعميل لتسريع التحميل وتقليل عرض النطاق الترددي المستخدم.
  • التخزين المؤقت caching هو عملية حفظ واستدعاء البيانات المخزنة مسبقًا لجعل التطبيقات والمواقع أسرع وأكثر كفاءة. عندما يتم استخدام التخزين المؤقت بشكل صحيح، يمكن تحسين أداء التطبيقات بشكل كبير وتقليل الحمل على الخوادم.

</> HTTP Message Contents
محتويات رسالة بروتوكول HTTP

  1. الطريقة Method : طريقة HTTP المطلوب من الخادم تنفيذه أو القيام به مثل GET، POST، PUT، و DELETE مثلاً [DELETE حذف مورد معين من الخادم].

  2. الرؤوس Headers: توفر معلومات إضافية عن الطلب HTTP requests أو الاستجابة HTTP response، ويُكتب كل رأس في سطر منفصل متبوعًا بنقطتين ومسافة بين المفتاح والقيمة [`Key: Value`].

  3. الجسم Body: يحتوي على البيانات المُرسَلة مع الطلب، ويظهر فقط في بعض أنواع الطلبات requests مثل POST وPUT. أما في طلبات GET requests، يكون الجسم عادة فارغًا.

  4. سطر الحالة Status Line: يُستخدم في استجابة HTTP response ويشمل إصدار البروتوكول HTTP Version مثل [HTTP/1.1]. وكود الحالة status code [مثل 200 للدلالة على نجاح الطلب request].
HTTP Message

هيكلة رسالة HTTP التي يتم تبادلها بين العميل أو الخادم.

HTTP-message   = <Request> | <Response> ; HTTP/1.1 messages
مثال
[GET /index.html HTTP/1.1] كطلب HTTP reques؛ والرد بـ [HTTP/1.1 200 OK] كاستجابة HTTP response.
معلومات تهمك
  • لا تنس تقييم الدروس لكي نُحدّث المُحتوى باستمرار حتى ينال إعجابك.
  • لا تنس مشاركة الموقع مع أصدقائك حتى تعمّ الفائدة وتكون سببًا في نفعهم.
مشاركة
0
0
0
0
عدد المشاركات
هل هذه المعلومات نالت إعجابك ؟
0
0
عدد التقييمات