討論HTTP代理和HTTPS代理的區(qū)別。首先,在HTTP階段,它們中的大多數(shù)是RFC7230中描述的通用IP代理商扮演的是“中間人”游戲的角色,對(duì)于它所連接的客戶端來說,就是服務(wù)器端IP。
負(fù)責(zé)HTTP消息在雙方之間來回傳輸?shù)母袷健5倪^程如下:
1. 客戶端瀏覽器完整地將請(qǐng)求發(fā)送到ip代理服務(wù)器。
2. ip代理服務(wù)器從HttpHeader獲取目標(biāo)的主機(jī)地址,并將請(qǐng)求發(fā)送到目標(biāo)服務(wù)器。
3. 目標(biāo)服務(wù)器將應(yīng)答發(fā)送回ip代理服務(wù)器。
4. ip代理服務(wù)器將應(yīng)答發(fā)送回客戶端瀏覽器。對(duì)于客戶端瀏覽器,ip代理服務(wù)器是目標(biāo)web服務(wù)器。就Web服務(wù)器而言,它將使用代理作為客戶端,根本找不到真正的客戶端。這類ip代理服務(wù)器相對(duì)簡單,大部分是透明傳輸完整的,主要是第二步,所以必須從頭中識(shí)別目標(biāo)主機(jī)地址。
第二,到了https階段,這種方法就不行了。ip代理服務(wù)器是一種Web服務(wù)器,它中斷客戶端TLS數(shù)據(jù)庫和Internet服務(wù)器之間的加密連接。在這個(gè)時(shí)候,使用RFC中定義的隧道施工代理模式是非常重要的。它基于Webip代理服務(wù)器,采用隧道建設(shè)方式遵循TCP傳輸協(xié)議。
關(guān)鍵因素是:
1. 瀏覽器啟動(dòng),消息將HttpConnect推送到ip代理服務(wù)器,消息推送目標(biāo)服務(wù)器信息。
2.IP代理服務(wù)器與目標(biāo)服務(wù)器建立TCP鏈路,并以連接建立響應(yīng)響應(yīng)瀏覽器。
3. 瀏覽器將請(qǐng)求發(fā)送給ip代理服務(wù)器,ip代表服務(wù)器發(fā)送請(qǐng)求給目標(biāo)服務(wù)器。
4. 目標(biāo)服務(wù)器將回復(fù)ip代理服務(wù)器,而ip代表服務(wù)器則將回復(fù)瀏覽器。這樣,就像Sock5這樣的代理協(xié)議一樣,ip代理服務(wù)器是完全透明的。只要建立一個(gè)基于http契約的管道就可以了。連接建立后,ip代理服務(wù)器只起到共享的作用。理論上,它還可以共享其他TCP協(xié)議。