ما هو بروتوكول “نقل النص التشعبي” HTTP؟ وما هي عناصره؟

بروتوكول نقل النص التشعبي (HTTP) هو أساس شبكة الويب العالمية World Wide Web، وهو يستخدم لتحميل صفحات الويب باستخدام روابط النص التشعبي.

ما هو بروتوكول HTTP؟

HTTP هو بروتوكول طبقة تطبيق Application Layer Protocol مصمم لنقل المعلومات بين الأجهزة المتصلة بالشبكة ويعمل فوق الطبقات الأخرى من مكدس بروتوكول الشبكة Network Protocol Stack. يتضمن التدفق النموذجي عبر HTTP قيام جهاز عميل بطلب إلى الخادم، والذي يرسل بعد ذلك رسالة استجابة.


ماذا يوجد في طلب HTTP؟

طلب HTTP هو الطريقة التي تطلب بها منصات الاتصالات عبر الإنترنت مثل متصفحات الويب المعلومات التي يحتاجونها لتحميل موقع ويب. كل طلب HTTP يتم إجراؤه عبر الإنترنت يحمل معه سلسلة من البيانات المشفرة التي تحمل أنواعًا مختلفة من المعلومات والبيانات. يحتوي طلب HTTP النموذجي على:

  • نوع إصدار HTTP
  • عنوان URL
  • طريقة HTTP
  • رؤوس طلب HTTP
  • نص HTTP اختياري.

كما سنستكشف تاليا ًبعمق أكبر كيفية عمل هذه الطلبات، وكيف يمكن استخدام محتويات الطلب لمشاركة المعلومات.

ما هي طريقة HTTP؟

تشير طريقة (HTTP Method)، التي يشار إليها أحياناً باسم فعل HTTP ، إلى الإجراء الذي يتوقعه طلب HTTP من الخادم الذي تم الاستعلام عنه.

على سبيل المثال، طريقتان من أكثر طرق HTTP شيوعاً هما “GET” و “POST” ؛ يتوقع طلب “GET” عودة المعلومات (عادةً في شكل موقع ويب)، بينما يشير طلب “POST” عادةً إلى أن العميل يرسل معلومات إلى خادم الويب (مثل معلومات النموذج، على سبيل المثال، اسم المستخدم وكلمة المرور).

ما هي رؤوس طلبات HTTP؟

تحتوي رؤوس HTTP أو (HTTP Headers) على معلومات نصية مخزنة في أزواج ذات قيمة مفتاح Key-Value Pairs، ويتم تضمينها في كل طلب HTTP واستجابة. تنقل هذه الرؤوس المعلومات الأساسية، مثل المتصفح الذي يستخدمه العميل والبيانات المطلوبة.

مثال على رؤوس طلب HTTP من علامة تبويب شبكة Google Chrome:

بروتوكول http

ماذا يوجد في نَص طلب HTTP؟

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


ما هي استجابة HTTP؟

استجابة HTTP هي ما يستقبله عملاء الويب (غالباً المتصفحات) من خادم الويب رداً على طلب HTTP. تنقل هذه الردود معلومات قيمة بناءً على ما تم طلبه في طلب HTTP.

تحتوي استجابة HTTP النموذجية على:

  • رمز حالة HTTP
  • رؤوس استجابة HTTP
  • نص HTTP اختياري

سنتحدث عن كل واحدة منها بالتفصيل فيما يلي:

ما هو رمز حالة HTTP؟

أكواد حالة HTTP أو (HTTP Status Codes) هي أكواد مكونة من 3 أرقام غالباً ما تستخدم للإشارة إلى ما إذا كان طلب HTTP قد اكتمل بنجاح أم لا. يتم تقسيم أكواد الحالة إلى الكتل الخمس التالية:

  • 1xx إعلامية
  • 2xx النجاح
  • 3xx إعادة التوجيه
  • 4xx خطأ العميل
  • 5xx خطأ في الخادم

يشير “xx” إلى أرقام مختلفة بين 00 و 99.

تشير رموز الحالة التي تبدأ بالرقم “2” إلى النجاح. على سبيل المثال، بعد أن يطلب العميل صفحة ويب، يكون للردود الأكثر شيوعاً رمز الحالة “200 OK”، مما يشير إلى أن الطلب قد اكتمل بشكل صحيح.

إذا بدأ الرد بـ “4” أو “5”، فهذا يعني أنه كان هناك خطأ ولن يتم عرض صفحة الويب. يشير رمز الحالة الذي يبدأ بالرقم “4” إلى خطأ من جانب العميل (من الشائع جداً أن تواجه رمز الحالة “404 غير موجود” عند ارتكاب خطأ إملائي في عنوان URL).

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

ما هي رؤوس استجابة HTTP؟

كما في حالة طلب HTTP، تأتي استجابة HTTP مع رؤوس تنقل معلومات مهمة مثل لغة وتنسيق البيانات التي يتم إرسالها في نص الاستجابة.

مثال على رؤوس استجابة HTTP من علامة تبويب شبكة Google Chrome:

بروتوكول http

ما هو نص استجابة HTTP؟

تحتوي استجابات HTTP الناجحة لطلبات “GET” بشكل عام على جسم Body يحتوي على المعلومات المطلوبة. في معظم طلبات الويب، هذه هي بيانات HTML التي سيترجمها متصفح الويب إلى صفحة ويب.


هل يمكن إطلاق هجمات DDoS عبر HTTP؟

ضع في اعتبارك أن HTTP هو بروتوكول “عديم الحالة”، مما يعني أن كل أمر يعمل بشكل مستقل عن أي أمر آخر. في المواصفات الأصلية، يطلب HTTP إنشاء اتصال TCP وإغلاقه.

في الإصدارات الأحدث من بروتوكول HTTP (HTTP 1.1 والإصدارات الأحدث)، يسمح الاتصال المستمر لطلبات HTTP المتعددة بالمرور عبر اتصال TCP مستمر، مما يحسن استهلاك الموارد. أما في سياق هجوم رفض الخدمة الموزع DDoS، يمكن استخدام طلبات HTTP بكميات كبيرة لشن هجوم على جهاز مستهدف.