نظرة عامة على البروتوكول HTTP


نظرة عامة على البروتوكول HTTP
نظرة عامة على البروتوكول HTTP

بروتوكول HTTP: نظرة عامة

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

يعتمد HTTP على نموذج الطلب / الاستجابة. ينشئ العميل اتصالاً بخادم ويرسل طلبًا إلى الخادم في شكل طريقة طلب وعنوان URL وإصدار بروتوكول ، متبوعًا برسالة تشبه MIME تحتوي على معدِّلات الطلب ومعلومات العميل ومحتوى الجسم المحتمل. يستجيب الخادم بخط الحالة ، بما في ذلك إصدار بروتوكول الرسالة ورمز النجاح أو الخطأ ، متبوعًا برسالة تشبه MIME تحتوي على معلومات الخادم ، والكيان الذي يحتفظ بالمعلومات ، ومحتوى النص المحتمل.

يدعم WebNMS تطوير وكلاء HTTP الذي يؤكد على إصدار HTTP 1.0 و HTTP 1.1.

أساسيات HTTP

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

المستعرض هو عميل HTTP لأنه يرسل طلبات إلى خادم HTTP (خادم الويب) ، والذي يرسل بعد ذلك استجابات إلى العميل. المنفذ القياسي (والافتراضي) لخوادم HTTP للاستماع عليه هو 80 ، على الرغم من أنه يمكنهم استخدام أي منفذ.

يستخدم بروتوكول HTTP لنقل الموارد وليس الملفات فقط. المورد هو جزء من المعلومات التي يمكن تحديدها بواسطة عنوان URL (محدد موقع المعلومات). أكثر أنواع الموارد شيوعًا هو الملف ، ولكن قد يكون المورد أيضًا نتيجة استعلام يتم إنشاؤها ديناميكيًا ، أو ناتج نص CGI ، أو مستند متاح بعدة لغات ، أو أي شيء آخر.

هيكل معاملة HTTP

مثل معظم بروتوكولات الشبكة ، يستخدم HTTP نموذج خادم العميل. يفتح عميل HTTP اتصالاً ويرسل رسالة طلب إلى خادم HTTP ؛ يقوم الخادم بعد ذلك بإرجاع رسالة استجابة تحتوي عادةً على المورد المطلوب. بعد تسليم الاستجابة ، يغلق الخادم الاتصال (مما يجعل HTTP بروتوكولًا عديم الحالة ، أي عدم الاحتفاظ بأي معلومات اتصال بين المعاملات).

تنسيق رسائل الطلب والرد مشابه وموجه إلى اللغة الإنجليزية. يتكون كلا النوعين من الرسائل من:

سطر أولي ،

صفر أو أكثر من خطوط الرأس ،

سطر فارغ (على سبيل المثال ، CRLF في حد ذاته) ، و

نص رسالة اختياري (على سبيل المثال ، ملف أو استعلام عن البيانات أو إخراج استعلام).

بمعنى آخر ، تنسيق رسالة HTTP هو

<السطر الأولي ، مختلف للطلب مقابل الاستجابة>

Header1: value1

Header2: القيمة 2

Header3: القيمة 3

<نص الرسالة الاختياري يظهر هنا ، مثل محتويات الملف أو بيانات الاستعلام ؛

يمكن أن تكون عدة أسطر طويلة ، أو حتى بيانات ثنائية $ & *٪ @! ^ $ @>

يجب أن تنتهي الأسطر والرؤوس الأولية بـ CRLF ، على الرغم من أنه يجب أن تتعامل برشاقة مع الأسطر التي تنتهي بـ LF فقط. (بشكل أكثر دقة ، تعني CR و LF هنا قيم ASCII 13 و 10 ، على الرغم من أن بعض الأنظمة الأساسية قد تستخدم أحرفًا مختلفة.)

طرق HTTP

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

طريقة GET

GET هي أكثر طرق HTTP شيوعًا ؛ تقول “أعطني هذا المورد”. أسماء الطرق الأخرى دائمًا بأحرف كبيرة. يمكن أيضًا استخدام طريقة GET لإرسال النماذج. يتم ترميز بيانات النموذج بعنوان URL وإلحاقها بعنوان URL للطلب.
 

طريقة الرأس

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

طريقة البريد

يستخدم طلب POST لإرسال البيانات لتتم معالجتها إلى الخادم بطريقة ما ، مثل استخدام برنامج نصي CGI. يختلف طلب POST عن طلب GET بالطرق التالية:

    • هناك كتلة من البيانات المرسلة مع الطلب ، في نص الرسالة. عادة ما تكون هناك رؤوس إضافية لوصف نص هذه الرسالة ، مثل نوع المحتوى: وطول المحتوى :.
    • عنوان URL للطلب ليس موردًا للاسترداد ؛ عادة ما يكون برنامجًا للتعامل مع البيانات التي ترسلها.

عادةً ما تكون استجابة HTTP عبارة عن إخراج برنامج ، وليست ملفًا ثابتًا. الاستخدام الأكثر شيوعًا لـ POST ، إلى حد بعيد ، هو إرسال بيانات نموذج HTML إلى نصوص CGI النصية. في هذه الحالة ، عادةً ما يكون رأس نوع المحتوى: application / x-www-form-url مشفرًا ، ويعطي رأس طول المحتوى: طول بيانات النموذج المشفرة بعنوان URL. يمكنك استخدام طلب POST لإرسال أي بيانات تريدها ، وليس فقط نماذج عمليات الإرسال. فقط تأكد من موافقة المرسل والبرنامج المستلم على التنسيق.

مقدمة إلى SSL

يلعب الأمن على الإنترنت دورًا متزايد الأهمية في السنوات القليلة الماضية. تزايدت جرائم الإنترنت ، مثل سرقة بطاقات الائتمان وأنواع أخرى من السرقة عبر الإنترنت. طبقة مآخذ التوصيل الآمنة (SSL) هي حل لمحاربة هذه الأنواع من المشاكل. SSL هي طبقة أمان موجودة بين TCP / IP وبروتوكولات التطبيقات ، مثل HTTP و LDAP و FTP و Telnet.

تم قبول بروتوكول طبقة مآخذ التوصيل الآمنة (SSL) ، الذي تم تطويره في الأصل بواسطة Netscape ، عالميًا على شبكة الويب العالمية من أجل الاتصال المصدق والمشفّر بين العملاء والخوادم.

هندسة SSL

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

http_sslarchiprotocol.jpg

يعمل بروتوكول SSL أعلى بروتوكول TCP / IP وأقل من بروتوكولات المستوى الأعلى ، مثل HTTP و IMAP و FTP وما إلى ذلك ، ويستخدم TCP / IP نيابة عن بروتوكولات المستوى الأعلى ، ويسمح في هذه العملية بتمكين بروتوكول SSL الخادم لمصادقة نفسه إلى عميل ممكّن لـ SSL ، ويسمح للعميل بمصادقة نفسه إلى الخادم ، ويسمح لكلا الجهازين بإنشاء اتصال مشفر.

تعالج هذه القدرات المخاوف الأساسية بشأن الاتصال “الآمن” عبر الإنترنت وشبكات TCP / IP الأخرى.

يتضمن بروتوكول SSL بروتوكولين فرعيين ، وهما بروتوكول تسجيل SSL ومصافحة SSL. يحدد بروتوكول SSL Record Protocol التنسيق المستخدم لنقل البيانات. يستخدم بروتوكول SSL Handshake Protocol بروتوكول سجل SSL لتبادل سلسلة من الرسائل بين العميل الذي يدعم SSL والخادم الذي يدعم SSL عند إنشاء اتصال SSL بينهما لأول مرة.

ميزات SSL

خصوصية البيانات

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

سهولة الاستعمال

تعتبر شبكة SSL بنفس سهولة الشبكات العادية في Java. أصبح هذا ممكنًا باستخدام JSSE.

المصادقة

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

نظرة عامة على البروتوكول HTTP

  
بهذا نكون قد وصلنا في نهاية هذا المقال. استمر في القراءة ، استمر في الاستكشاف!
موقع ukirn يشكركم على زيارتكم 
المراجع :
المصدر

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *