ما هو بروتوكول HTTP في شبكة الحاسوب

اقرأ في هذا المقال


يُعد “HTTP” هو بروتوكول اتصال قائم على “TCP / IP” ويتم اعتماده لتقديم بيانات ملفات “HTML” وملفات الصور ونتائج التحقيقات على شبكة الويب العالمية، والمنفذ الافتراضي هو “TCP 80” ولكن يمكن استخدام المنافذ الأخرى أيضاً، ويوفر طريقة موحدة لأجهزة الكمبيوتر للارتباط مع بعضها البعض وتحدد مواصفات “HTTP” كيفية إنشاء بيانات طلب العملاء وإرسالها إلى الخادم، وكيفية استجابة الخوادم لهذه الطلبات.

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

بروتوكول نقل النص التشعبي “HTTP”: هو بروتوكول على مستوى التطبيق لأنظمة معلومات الوسائط التشعبية الموزعة والتعاونية، وهذا هو الأساس لاتصالات البيانات لشبكة الويب العالمية أي الإنترنت منذ عام 1990م، وهو بروتوكول عام وعديم الحالة يمكن استخدامه لأغراض أخرى بالإضافة إلى استخدام امتدادات طرق الطلب وأكواد الخطأ والعناوين.

  • “HTTP” هي اختصار لـ “Hypertext-Transfer-Protocol”.
  • “TCP / IP” هي اختصار لـ “Transmission Control Protocol/Internet Protocol”.
  • “HTML” هي اختصار لـ “Hyper Text Markup Language”.

أنواع بروتوكول HTTP

1- HTTP غير متصل

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

2- HTTP مستقل عن الوسائط

  • هذا يعني أنّه يمكن إرسال أي نوع من البيانات بواسطة “HTTP” مادام أنّ كل من العميل والخادم يعرفان كيفية التعامل مع محتوى البيانات.
  • يجب على العميل وكذلك الخادم تحديد نوع المحتوى باستخدام نوع “MIME” المناسب.

ملاحظة:“MIME” هي اختصار لـ “Multipurpose Internet Mail Extensions”.

3- HTTP عديم الحالة

  • “HTTP” غير متصل وهو نتيجة مباشرة لكون “HTTP” بروتوكولاً عديم الحالة.
  • الخادم والعميل على دراية ببعضهما البعض فقط أثناء الطلب الحالي.
  • بعد ذلك كلاهما ينسى بعضهما البعض.
  • نظراً لطبيعة البروتوكول لا يمكن للعميل أو المتصفح الاحتفاظ بالمعلومات بين الطلبات المختلفة عبر صفحات الويب.

عناصر بروتوكول HTTP

1- الأساسية

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

2- العميل

يبعث  عميل “HTTP” طلباً إلى الخادم في شكل طريقة طلب و”URI” وإصدار بروتوكول متبوعاً برسالة تشبه “MIME” تحتوي على معدِّلات الطلب، ومعلومات العميل ومحتوى الكائن المفترض عبر اتصال “TCP / IP”.

3- الخادم

يستجيب خادم “HTTP” بخط حالة بما في ذلك إصدار بروتوكول الرسالة وكود نجاح أو خطأ متبوعاً برسالة تشبه “MIME” تحتوي على بيانات الخادم ومعلومات تعريف الكيان ومحتوى نص كيان محتمل.

خصائص بروتوكول HTTP

  • يستخدم “HTTP” بشكل أساسي للوصول إلى البيانات الموجودة على شبكة الإنترنت العالمية “WWW”.
  • يعمل “HTTP” بشكل أساسي على أنّه مزيج من بروتوكول نقل الملفات “FTP” وبروتوكول نقل البريد البسيط “SMTP“.
  • “HTTP” هو أحد البروتوكولات المستخدمة في طبقة التطبيق.
  • يشبه “HTTP” بروتوكول “FTP” لأنّ “HTTP” يستخدم لنقل الملفات ويستخدم بشكل أساسي خدمات “TCP”.
  • يعد “HTTP” أبسط بكثير من “FTP” نظراً لوجود اتصال “TCP” واحد فقط.

ملاحظة:“FTP” هي اختصار لـ “File Transfer Protocol”.

ملاحظة:“SMTP” هي اختصار لـ “Simple Mail Transfer Protocol”.

كيفية عمل بروتوكول HTTP

  • يستخدم “HTTP” بنية خادم العميل، حيث يعمل المتصفح كعميل “HTTP” ويتواصل هذا العميل بشكل أساسي مع خادم الويب الذي يستضيف موقع الويب
  • تنسيق الطلب ورسالة الرد متماثلان، وتتكون رسالة الطلب بشكل أساسي من سطر طلب ورأس ونص في بعض الأحيان، وتتكون رسالة الاستجابة من سطر الوضع والرأس وأحياناً نص.
  • في الوقت الذي يقدم فيه العميل طلباً للحصول على بعض المعلومات إلى خادم الويب، ثم يبعث المتصفح رسالة طلب إلى خادم “HTTP” للكائنات المطلوبة.
  • وبعدها يحدث اتصال يتم فتحه بين العميل وخادم الويب من خلال “TCP“.
  • بعد ذلك يرسل “HTTP” طلباً إلى الخادم الذي يجمع البيانات المطلوبة بشكل أساسي.
  • يتم إرسال الاستجابة مع الكائنات مرة أخرى إلى العميل عن طريق “HTTP”.
  • يقوم “HTTP” بإغلاق الاتصال.

ميزات بروتوكول HTTP

  • بروتوكول “HTTP” بسيط تم تصميم بروتوكول “HTTP” ليكون سهل القراءة ويمكن للبشر قراءته.
  • “HTTP” هو بروتوكول نقل النص التشعبي عديم الحالة ممّا يدل على أنّه لا يتةفر اتصال بين طلبين يتم تنفيذهما على التوالي على نفس الاتصال.
  • يعرف كل من العميل والخادم بعضهما البعض فقط أثناء الطلبات الحالية وبالتالي فإنّ جوهر “HTTP” هو نفسه عديم الحالة.
  • توفر ملفات تعريف الارتباط “HTTP” في الاستفادة من الجلسات ذات الحالة.
  • “HTTP” قابل للتوسيع، حيث يمكن دمج “HTTP” بسهولة مع الوظائف الجديدة من خلال توفير اتفاقية بسيطة بين العميل والخادم.
  • “HTTP” غير متصل، حيث يتم بدء طلب “HTTP” بواسطة المتصفح أي عميل “HTTP” ووفقاً لمعلومات الطلب من قبل المستخدم، بعد ذلك يعالج الخادم طلب العميل ثم يستجيب مرة أخرى للعميل
  • لا يوجد دعم وقت التشغيل المطلوب للتشغيل بشكل صحيح.
  • نظراً لأنّه غير متصل، فلا يوجد أي نفقات إضافية لإنشاء حالة ومعلومات الجلسة والحفاظ عليها.
  • يمكن استخدام “HTTP” عبر جدران الحماية والتطبيق العالمي ممكن.
  • “HTTP” مستقل عن النظام الأساسي.
  • يقوم “HTTP” بالإبلاغ عن الأخطاء دون إغلاق اتصال “TCP”.
  • يقدم تقليل ازدحام الشبكة.

عيوب بروتوكول HTTP

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

اتصالات بروتوكول HTTP

1- اتصال مستمر

  • في اتصال “HTTP” المستمر يتم إرسال جميع الطلبات والاستجابات المقابلة لها عبر نفس اتصالات “TCP”.
  • يحدد الإصدار 1.1 من “HTTP” اتصالاً دائماً بشكل افتراضي.
  • في هذا النوع من الاتصال يترك الخادم الاتصال مفتوحاً لمزيد من الطلبات بعد إرسال استجابة.
  • يمكن للخادم إغلاق الاتصال بناءً على طلب العميل أو عند الوصول إلى المهلة.
  • في الاتصال المستمر يتم استعمال اتصال “TCP” واحد بشكل أساسي لإرسال كائنات متعددة واحدة تلو الأخرى.
  • عادةً يتم إرسال طول البيانات مع كل إجابة.
  • هناك بعض الحالات التي لا يعرف فيها الخادم طول البيانات يحدث هذا عندما يتم إنشاء المستند ديناميكياً وفي مثل هذه الحالات، يقوم الخادم بإبلاغ العميل بأنّ الطول غير معروف ويغلق الاتصال بعد إرسال البيانات وذلك من أجل السماح إبلاغ العميل بنهاية البيانات.

2- اتصال غير مستمر

في اتصال “HTTP” غير المستمر يتم إجراء اتصال “TCP” واحد لكل طلب / استجابة وهذا يعني أنّ هناك عنصراً منفصلاً لكل كائن، وفيما يلي الخطوات المستخدمة:

  • يفتح العميل اتصال “TCP” ثم يرسل طلباً.
  • بعد ذلك يرسل الخادم الاستجابة ثم يغلق الاتصال.
  • ثم يقوم العميل بقراءة البيانات وحتى يواجه علامة نهاية الملف ثم يقوم بإغلاق الاتصال.
  • يفرض هذا الاتصال عبئاً مرتفعاً على الخادم نظرًا لأن الخادم N يتطلب وجود مخازن مؤقتة مختلفة، ويكون إجراء البدء بطيئاً في كل مرة يتم فيها فتح الاتصال.

المصدر: COMPUTER NETWORKING / James F. Kurose & Keith W. RossComputer Networks - The Swiss BayCOMPUTER NETWORKS LECTURE NOTES / B.TECH III YEAR – II SEM (R15)An Introduction to Computer Networks / Peter L Dordal


شارك المقالة: