توسط پروتکل (HTTP) ایجاد می‌شوند. پروتکل‌های شبکه‌ای مورد بحث معمولاً به خانوادهٔ TCP/IPپروتکل‌ها متعلق هستند؛ بنابراین
پروتکل HTTP به عنوان روکشی برای کانالی که پروتکل شبکه‌ای که تونل‌گذاری شده برای برقراری ارتباط استفاده می‌کند. عمل می‌کند.
تونل HTTP است که به وسیلهٔ آن ارتباطاتی که با استفاده از پروتکل‌های شبکه‌ای مختلف عمل می‌کنند.
جریان HTTP با کانال پنهانی خود یک تونل HTTPنامیده می‌شود.
نرم‌افزار تونل HTTPاز برنامه‌های تونل HTTP client-Server تشکیل شده که با نرم‌افزار برنامهٔ موجود ادغام می‌شود وبه
آنها اجازه می‌دهد که در محدودهٔ اتصالات شبکه‌ای محدود که شامل شبکه‌های Firewallشبکه‌های پشت سرور پروکسی وشبکه‌های ترجمهٔ آدرس.

کاربرد
------

یک **تونل HTTP بیش** تر به عنوان ابزاری برای ارتباط از شبکه محل با اتصالات محدود در **NATS** یا سرور پروکسی و یا برنامه‌هایی فاقد حفاظت ذاتی برای ارتباط در چنین شرایط ارتباطی محدود هستند مورد استفاده قرار می‌گیرد.اتصالات محدود در قالب پورت ICP/TP از خارج شبکه آغاز می‌شوند. بستن همهٔ پروتکل‌های شبکه به جز تعداد خاصی یک روش مورد استفادهٔ رایج برای قفل کردن شبکه در جهت حفاظت از آن در برابر خطرات داخلی وخارجی است.

مکانیسم
-------

سرور واسطه اطلاعات واقعی را قبل از اینکه آن را به Remote Host بفرستد باز می‌کند. هم‌زمان که داده‌ها را از Remote Host دریافت می‌کند. قبل از فرستادن آن به عنوان بخشی از پاسخ HTTP به برنامه آن را در قالب پروتکل HTTP قرار می‌دهد. در این شرایط برنامهٔ کاربردی نقش یک Tunnelling Client را ایفا می‌کند در حالیکه Remote Host نقش یک یک سرور که با آن ارتباط برقرار شده را ایفا می‌کند.

کانال ارتباط HTTP:((HTTP CONNECT Tunneling
------------------------------------------

در این مکانیسم Client(مراجعه‌کننده) که از روش CONNECT HTTP استفاده می‌کند. از سرور نماینده HTTP برای فرستادن اتصال TCPبه مقصد مورد نظر استفاده می‌کند. سپس سرور به گونه‌ای پردازش می‌کند که ارتباط را از سوی client انجام دهد. هنگامی که ارتباط توسط سرور آغاز شد. سرور نماینده ارتباط را با جریان TCP و از سوی Client ادامه می‌دهد. توجه داشته باشید که تنها اولین درخواست ارتباط HTTP است و بعد از آن سرور ارتباط را با اتصال تثبیت شده TCP ادامه می‌دهد.
این مکانیسم به گونه‌ای است که مراجعه‌کننده یک HTTP می‌تواند از SSL به وب سایت‌ها دست یابد.
همهٔ سرورهای نماینده HTTP(Proxy) این شرایط را پشتیبانی نمی‌کنند و حتی آنهایی هم که این شرایط را پشتیبانی می‌کنند ممکن است محدودیت‌هایی داشته باشند.

تونل HTTP بدون استفاده از CONNECT
---------------------------------

در برخی از شبکه‌ها استفاده از روش CONNECT محدودیت‌هایی دارد. در چنین مواردی تونل HTTP می‌تواند با استفاده از متدهای معمول HTTP تحت عناوین DELETE .PUT.GET.POST اجرا شود.
دراین برنامه سرور به عنوان یک سرورHTTP مخصوص عمل می‌کند. برنامهٔ client (مراجعه‌کننده) درون شبکه محافظت شده‌ای عمل می‌کند. هرگاه هر ترافیک شبکه‌ای به Client ارجاع شود. آن را به عنوان یک درخواست HTTP بسته‌بندی می‌کند و آن را به خارج از سرور انتقال می‌دهد که درخواست شبکهٔ اصلی را برای Client به اجرا درمی‌آورد. پاسخ به درخواست که به سرور فرستاد شده سپس دوباره به عنوان پاسخ HTTP بسته‌بندی می‌شود ودوباره به client انتقال داده می‌شود. از آنجا که همهٔ ترافیک‌ها در حوزهٔ POSTو GETخلاصه می‌شوند این رویکرد فقط درون ProxyوFirewall عمل می‌کند.

Clients (مراجعه‌کننده) تونل HTTP
--------------------------------

چندین برنامهٔ Client تونل HTTP وجود دارد که حتی به برنامه‌هایی که فاقد حفاظت هستند اجازه می‌دهد که از محل‌هایی با اتصالات محدود ارتباط برقرار کنند.
مراجعه‌کننده آزاد یا Open Sourse تونل HTTP معمولاً در قالب یک جفت برنامه بسته‌بندی می‌شود. یکی از آن‌ها به عنوان سرور واسطه ودیگری به عنوان Tunneling Client عمل می‌کند.
این استفاده‌کننده را قادر می‌سازد به سرور خودشان که می‌توانند نرم‌افزار سرور واسطه را اجرا کنند ذسترسی پیدا کنند.
برنامه‌های اقتصادی مراجعه‌کننده تونل HTTP توسط شرکت‌هایی که سرور واسطه خودشان را اجرا می‌کنند ایجاد شده‌است. آن‌ها سرویس ارائه شده با سطوح متفاوت که بستگی به پهنای باند ایجاد شده دارد را پشتیبانی می‌کنند.

کاربردهای HTTP Tunnel Clients
-----------------------------

-برای استفاده از برنامه‌هایی از سرورهای نماینده.

-برای دستیابی به سایت‌های بسته شده.

-تماشای ویدیوهای قفل شده.

-برای به اشتراک گذاشتن برخی منابع محرمانه با استفاده از امنیت HTTP.

منابع
-----