نفق HTTP

يُستخدم نفق HTTP لإنشاء رابط شبكي بين جهازين في ظروف اتصال شبكي محدودة، بما في ذلك جدران الحماية ، وتقنية ترجمة عناوين الشبكة (NAT) ، وقوائم التحكم بالوصول (ACL) ، وغيرها من القيود. ويتم إنشاء النفق بواسطة وسيط يُسمى خادم الوكيل، والذي عادةً ما يكون موجودًا في منطقة معزولة (DMZ) .

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

طريقة HTTP CONNECT

يُعدّ بروتوكول HTTP CONNECT المعياري الشكل الأكثر شيوعًا لتقنية نفق HTTP . [ 1 ] [ 2 ] في هذه الآلية، يطلب العميل من خادم وكيل HTTP إعادة توجيه اتصال TCP إلى الوجهة المطلوبة. ثم يقوم الخادم بإنشاء الاتصال نيابةً عن العميل. بمجرد إنشاء الاتصال، يستمر خادم الوكيل في توجيه تدفق TCP من وإلى العميل. طلب ​​الاتصال الأولي فقط هو HTTP، وبعد ذلك، يقوم الخادم ببساطة بتوجيه اتصال TCP المُنشأ.

تُتيح هذه الآلية للعميل الذي يستخدم خادم وكيل HTTP الوصول إلى مواقع الويب باستخدام بروتوكول SSL أو TLS (أي HTTPS). وقد تُقيّد خوادم الوكيل الاتصالات أيضًا، وذلك بالسماح بالاتصالات عبر منفذ HTTPS الافتراضي 443 فقط، أو بإضافة عناوين IP إلى القائمة البيضاء ، أو بحظر حركة البيانات التي لا تبدو أنها تستخدم بروتوكول SSL.

لا يمكن لطريقة HTTP CONNECT إعادة توجيه اتصال UDP ، إلا إذا تم استخدام طريقة MASQUE لـ QUIC. [ 3 ]

مثال على التفاوض

يتصل العميل بخادم الوكيل ويطلب إنشاء نفق عن طريق تحديد المنفذ وجهاز الكمبيوتر المضيف الذي يرغب في الاتصال به. يُستخدم المنفذ للإشارة إلى البروتوكول المطلوب. [ 4 ]

الاتصال بـ streamline.t-mobile.com:22 HTTP / 1.1 Proxy-Authorization : Basic encoded-credentials

إذا تم السماح بالاتصال ونجح الخادم الوكيل في الاتصال بالمضيف المحدد، فسيعيد الخادم الوكيل استجابة نجاح 2XX. [ 4 ]

HTTP / 1.1 200 OK

يتم الآن توجيه العميل إلى المضيف البعيد عبر خادم وسيط. تُعاد توجيه أي بيانات مُرسلة إلى الخادم الوسيط، دون تعديل، إلى المضيف البعيد [ 4 ويمكن للعميل التواصل باستخدام أي بروتوكول يقبله المضيف البعيد. في المثال أدناه، يبدأ العميل اتصالات SSH، كما يُشير إليه رقم المنفذ في طلب CONNECT الأولي.

SSH-2.0-OpenSSH_4.3\r\n ...

نفق HTTP بدون استخدام CONNECT

يمكن أيضًا إنشاء نفق HTTP باستخدام طرق HTTP المعتادة فقط، مثل POST وGET وPUT وDELETE. وهذا مشابه للنهج المستخدم في تقنية التدفقات ثنائية الاتجاه عبر HTTP المتزامن ( BOSH ).

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

انظر أيضاً

ملحوظات

مراجع

  1. فيلدينغ، ر. (يونيو 1999). "تعريفات الطرق، CONNECT" . بروتوكول نقل النص التشعبي - HTTP/1.1 . IETF . ص 56. القسم 9.9. doi : 10.17487/RFC2616 . RFC 2616. تم الاسترجاع في 16 يناير 2025 .   
  2. خاري، ر.؛ لورانس، س. (مايو 2000). بروتوكول نقل النص التشعبي - HTTP/1.1 . IETF . doi : 10.17487/RFC2817 . RFC 2817. تاريخ الاسترجاع: 16 يناير 2025 .
  3. "طبقة التطبيق متعددة الإرسال عبر تشفير QUIC (masque)" . datatracker.ietf.org . تم الاطلاع عليه بتاريخ 30-12-2025 .
  4. 1 2 3 فيلدينغ، ر.؛ ريشكه، ج. (يونيو 2014). "CONNECT" . دلالات ومحتوى HTTP/1.1 . IETF . ص 30. القسم 4.3.6. doi : 10.17487/RFC7231 . RFC 7231. تم الاسترجاع في 16 يناير 2025 .