淺談HTTP代理和HTTPS代理!討論Http代理和HTTPS代理的工作職責的區(qū)別。第一,在HTTP階段,大部分都是RFC7230中描述的通用代理。這種代理人扮演著“中間人”游戲的角色。對于與之連接的客戶端,是服務(wù)器端;對于要連接的服務(wù)器,它是客戶端。
負責雙方中間來回傳輸HTTP消息的格式。其過程如下:
1.客戶端瀏覽器將請求原封不動地發(fā)送到ip代理服務(wù)器。
2.ip代理服務(wù)器從HttpHeader獲取目標的主機地址,并將請求發(fā)送到目標服務(wù)器。
3.目標服務(wù)器將回復發(fā)送回ip代理服務(wù)器。
4.ip代理服務(wù)器將回復發(fā)送回客戶端瀏覽器。對于客戶端瀏覽器,ip代理服務(wù)器是目標web服務(wù)器。就web服務(wù)器而言,它會以代理為客戶端,根本找不到真正的客戶端。這種ip代理服務(wù)器比較簡單,大部分都是原封不動的透明傳輸,主要是第二步,所以一定要從頭部識別目標主機地址。
第二,到了Https階段,這種方法就不好了。ip代理服務(wù)器是一個web服務(wù)器,它破壞了客戶端的TLS數(shù)據(jù)庫和Internet服務(wù)器之間的加密連接。這時候使用RFC中定義的隧道構(gòu)建代理模式就很重要了,它是基于Webip代理服務(wù)器,使用隧道構(gòu)建模式按照TCP傳輸契約。
其關(guān)鍵因素是:
1.瀏覽器開始,消息推送HttpConnect到ip代理服務(wù)器,消息推送目標服務(wù)器信息。
2.ip代理服務(wù)器與目標服務(wù)器建立tcp鏈接,并向瀏覽器響應(yīng)連接建立響應(yīng)。
3.瀏覽器將請求發(fā)送到ip代理服務(wù)器,ip代理服務(wù)器將請求傳輸?shù)侥繕朔?wù)器。
4.目標服務(wù)器會回復ip代理服務(wù)器,ip代理服務(wù)器會回復瀏覽器。在這種方式下,很像Sock5等代理合同,ip代理服務(wù)器完全是透明管道。只是建立了一個基于http契約的管道。連接建立后,ip代理服務(wù)器只起到共享的作用。理論上,它還可以共享其他TCP契約。