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