前言:
本節主要將web伺服器在http報文傳輸過程中所起的幾個作用:
1)web協議閘道器。
2)web資源閘道器。
3)web應用程式介面。
4)隧道。
web協議閘道器:
主要是協議轉換,真正的伺服器和客戶端使用http協議進行通訊,但是後續的資源獲取或者是資源請求使用另外一種協議進行傳輸。根據請求位置不同,可以分為客戶端閘道器,服務端閘道器。實際上,如果大家看過前面我寫的代理章節的話,就知道這其實屬於
正向代理、反向代理以及透明代理。
在實際使用場景中,主要是以下幾種:
客戶端 http 服務端代理 ftp 服務端 (反向代理)
客戶端 ftp 客戶端代理 http 服務端 (正向代理)
客戶端 http 服務端
http
攔截代理(透明代理)
web資源閘道器:
客戶端 http 伺服器 執行呼叫 資源應用程式(CGI、php等)
這裡其實就是反向代理,我們通常都是這樣使用的。結合場景理解原理,很簡單。
web隧道:
一般情況下,在web上,只能傳輸http報文,但是隨著網路的普及以及web的簡單,越來越多的獲取資源的方式開始使用web來執行。這就導致了http隧道的產生,即在http報文上傳輸非http協議的流量,如ftp、smtp以及ssl協議的流量等。
因為這樣可以保證伺服器對外的埠只有web埠被使用和監聽。
方法:
connect 方法:
請求
connect www。baidu。com:443 http/1。0
響應
http/1。0 200 connecttion establish
ssl隧道和https閘道器的對比:
ssl隧道無需閘道器支援ssl協議,直接使用http協議傳輸加密資料。
https閘道器需要代理支援ssl,才能將報文進行加密傳輸。