بروتوكول نقل النص الفائق
تحتاج هذه المقالة إلى تهذيب لتتناسب مع دليل الأسلوب في ويكيبيديا. (سبتمبر 2011) |
بروتوكول نقل النص الفائق أو بروتوكول نقل النص المُتشعِّب[1] أو بروتوكول نَقْل النُصوصٍ التَرابُطيَّة[2] أو ميفاق نقل النصوص الترابطية[3] (بالإنجليزية: HyperText Transfer Protocol HTTP) هو بروتوكول عديم الحالة لنقل الموارد في الإنترنت، وهو الطريقة الرئيسة والأكثر انتشاراً لنقل البيانات في الشبكة العنكبوتية العالمية. الهدف الأساسي من بنائه كان إيجاد طريقة لنشر واستقبال صفحات HTML.
بروتوكول نقل النص الفائق | |
---|---|
معيار دولي | RFC 1945 HTTP/1.0 (1996) RFC 2616 HTTP/1.1 (1999) |
طُوّر من قبل | initially سيرن؛ مجموعة مهندسي الإنترنت، رابطة الشبكة العالمية |
تاريخ الطرح | 1991 |
بدأ تطوير البروتوكول من قبل تيم بيرنرز لي في معهد سيرن سنة 1989. تم تطوير وثائق طلب التعليقات بالتنسيق مع مجموعة مهندسي شبكة الإنترنت ورابطة الشبكة العالمية.[4]
وهو من الطبقة السابعة لنظام حزمة بروتوكولات الإنترنت وهي طبقة التطبيقات ويستخدم من قبل متصفحات الويب والتي تسمى عميل المستخدم user-agent ويستخدم المنفذ رقم 80 على الخادم غالبًا بالتعاون مع الطبقة الرابعة وبالتحديد مع بروتوكول التحكم بالنقل للحصول على الصفحات المطلوبة وبعد ذلك تبدا مهمة بروتوكول TCP لتولى المهمة من هنا والبدأ في عمله.
وتعتبر الصفحة كأي وثيقة عادية نصية ولكنها تحتوى على بعض الإضافات الأخرى الفائقة مثل روابط لأماكن أو مواقع أو صفحات أخرى بالإضافة إلى بعض الإضافات الحديثة مثل الصور والوسائط المتعددة والتي يتم الحصول عليها في طلب منفصل آخر ولكنها تتواجد داخل تلك الصفحة بعد تحميلها.
يتميز هذا النظام بمعياريته السهلة التي تجعل من استضافة أي موقع أمرا سهلًا وبسيطاً، وحسب ما توضح صفحات وصف هذا النظام في ملفات RFC فإن استضافة هذا النظام على المسيرات Routers تجعل من عملية نقل صفحات المواقع أمراً سريعًا جداً بحسب سرعة استضافة موقعك.
وحيث أن الاستضافة الخاصة بأي موقع لا بد أن تتعامل مع هذا النظام، فإن مواقع الويب جميعها تعمل على أساس بنية هذا النظام وطريقته بغض النظر عن جهة الاستضافة.
جلسة نقل النص الفائق
عدليعمل الميثاق بنظام Client Server Response أي نظام الرد بين العميل والخادم، وبمعنى آخر تجرى العملية كالتالي:
- يقوم المتصفح، والذي يفهم نظام الميثاق (البروتوكول) جيداً، بإرسال طلب إلى الخادم عبر ملف منتظراً نتيجة الطلب ويكون ذلك الطلب موجهاً غالباً للمنفذ رقم 80 على الخادم، وهو المنفذ الذي يقوم الخادم بتهيئته لاستقبال مثل هذه الطلبات.
- يتلقى الخادم الطلب ويقوم بالرد عليه برسالة تتكون من عدة أجزاء (رأس نتيجة الطلب ثم نتيجة الطلب أو محتوياته المطلوبة) ويتم توجيه تلك الرسالة إلى جهاز العميل مرة أخرى على أي منفذ فارغ في جهاز العميل وغالبا مايكون رقم المخرج أعلى من 1024 حيث أن الأرقام أسفل ذلك الرقم مخصصة لأغراض معروفة ومحدده
عدمية الحالة
عدلنظام HTTP يعمل على نقل البيانات بطريقة يعبر عنها بأنها عديمة الحالة مما يعني سرعة كبيرة في نقل صفحات المواقع من وإلى جهاز العميل، هذا يعني سرعة كبيرة في نقل مواقع الشبكة واستضافة عالية لكافة البيانات أو بمعنى آخر لا يهتم كثيراً بعملية فقد البيانات والحصول عليها أثناء الاتصال.
طرق الطلب
عدلطرق الطلب (بالإنجليزية: Request Methods) يعرف نظام HTTP ثمانية وسائل أو طلبات ترسل إلى خادم (تسمى أحيانا (verbs)؛ أي أفعال) تصف الطلب المراد على المصدر المرفق.
- HEAD
- تطلب رداً مطابقاً لذلك الذي يرجعه طلب GET، لكن بدون قسم الـ (جسم body). ويفيد هذا في الحصول على معلومات عن المطلوب دون نقل على كامل المحتوى.
- GET
- طلب عرض؛ وهو أكثر وسيلة مستخدمة اليوم على الشبكة.
- POST
- إرسال معلومات من المستخدم الزبون (من form في صفحة html مثلا) للهدف المرفق. توضع البيانات ضمن قسم الـ (جسم body) من الطلب.
- PUT
- تحميل إلى الهدف.
- DELETE
- مسح الهدف (و نادراً ما تستخدم).
- TRACE
- ترد بذات الطلب الذي وصل، وذلك ليستطيع الزبون أي تعديلات تقوم بها خوادم في الطريق.
- OPTIONS
- ترد الوسائل التي يدعمها خادم الويب، يستخدم لفحص كيف يعمل خادم الويب.
- CONNECT
- للاستخدام مع خادم وكيل قد يحول إلى نفق بروتوكول طبقة المنافذ الآمنة.
تدعم خوادم الويب GET وHEAD على أقل تقدير، وعادة ما تدعم OPTIONS أيضاً.
جدول التلخيص
عدلوسائل HTTP | RFC | الطلب له جسم Body | الاستجابة لها جسم Body | آمن | Idempotent | قابلة للتخزين المؤقت |
---|---|---|---|---|---|---|
GET | RFC 7231 | لا | نعم | نعم | نعم | نعم |
HEAD | RFC 7231 | لا | لا | نعم | نعم | نعم |
POST | RFC 7231 | نعم | نعم | لا | لا | نعم |
PUT | RFC 7231 | نعم | نعم | لا | نعم | لا |
DELETE | RFC 7231 | لا | نعم | لا | نعم | لا |
CONNECT | RFC 7231 | نعم | نعم | لا | لا | لا |
OPTIONS | RFC 7231 | لا | نعم | نعم | نعم | لا |
TRACE | RFC 7231 | لا | نعم | نعم | نعم | لا |
PATCH | RFC 5789 | نعم | نعم | لا | لا | نعم |
إصدارات الميثاق (البروتوكول)
عدلصدر من الميثاق أربع إصدارات، ويعتمد كل إصدار على قصور في الأداء في الإصدار السابق له:
الإصدار 0.9: هذا الإصدار تم استخدامه في النموذج مبدئي للشبكة العنكبوتية العالمية.[5]
الإصدار 1.0: وهو الإصدار الأكثر شهرة وما زال يستخدم على نطاق واسع جداً
الإصدار 1.1: وهو يستخدم على نطاق متوسط
الإصدار 2: تم اعتماد هذا الإصدار في فبراير 2015. بحسب احصائيات W3Techs في يناير 2018 كان يدعم 20.5% من أهم 10 ملايين موقع هذا الإصدار.[6]
الإصدار 3: تم اعتماد هذا الإصدار في نوفمبر 2018. يقوم هذا الإصدار باستبدال بروتوكول TCP لنقل المعلومات ببروتوكول QUIC المبني على بروتوكول UDP.[7]
بروتوكولات مماثلة
عدل- The غوفر is a content delivery protocol that was displaced by HTTP in the early 1990s.
- The سبيدي protocol is an alternative to HTTP developed at جوجل، superseded by HTTP/2.
- The Gemini protocol is an Gopher inspired protocol who mandates privacy-related features.
انظر أيضًا
عدل- بروتوكول التطبيقات المقيدة - بروتوكول مشابه لغويًا لـ HTTP ولكنه يستخدم UDP أو رسائل شبيهة بـ UDP تستهدف الأجهزة ذات القدرة المحدودة على المعالجة؛ يعيد استخدام HTTP ومفاهيم الإنترنت الأخرى مثل نوع وسائط الإنترنت وربط الويب (RFC 5988)
- قائمة حقول رأس بروتوكول نقل النص التشعبي
- قائمة أكواد حالة إتش تي تي بي
- رست (REST)
- Variant object
- ذاكرة مخبأة
- وِب سوكِت
المراجع
عدل- ^ المعجم الموحد لمصطلحات تقانة (تكنولوجيا) المعلومات: (إنجليزي-فرنسي-عربي). سلسلة المعاجم الموحدة (36) (بالعربية والإنجليزية والفرنسية). الرباط: مكتب تنسيق التعريب. 2011. ص. 57. ISBN:978-9954-0-0742-6. OCLC:1413893208. QID:Q111267300.
- ^ موفق دعبول؛ مروان البواب؛ نزار الحافظ؛ نوار العوا (2017)، قائمة مصطلحات المعلوماتية (بالعربية والإنجليزية)، دمشق: مجمع اللغة العربية بدمشق، ص. 150، QID:Q112244705
- ^ معجم المصطلحات المعلوماتية (بالعربية والإنجليزية)، دمشق: الجمعية العلمية السورية للمعلوماتية، 2000، ص. 265، OCLC:47938198، QID:Q108408025
- ^ "The birth of the Web | CERN". home.cern. مؤرشف من الأصل في 2019-09-18. اطلع عليه بتاريخ 2019-09-27.
- ^ "The HTTP Protocol As Implemented In W3". www.w3.org. مؤرشف من الأصل في 2018-09-30. اطلع عليه بتاريخ 2018-01-02.
- ^ "Usage Statistics of HTTP/2 for Websites, January 2018". w3techs.com (بالإنجليزية). Archived from the original on 2019-05-01. Retrieved 2018-01-02.
- ^ Cimpanu, Catalin. "HTTP-over-QUIC to be renamed HTTP/3". ZDNet (بالإنجليزية). Archived from the original on 2019-07-11. Retrieved 2019-09-23.