第6章 代理

來源:互聯網
上載者:User

標籤:python

1、HTTP的Proxy 伺服器既是Web伺服器又是Web用戶端。

代理與網關的對比:代理串連的是兩個或多個使用相同協議的應用程式,而網關串連的則是兩個或多個使用不同協議的端點。實際上,代理和網關之間的區別很模糊,代理也經常要做一些協議轉換的工作。


2、代理可以作為兒童過濾器;文檔存取控制;安全防火牆;Web緩衝;反向 Proxy(假扮Web伺服器。接收發給Web伺服器的真是請求,但與Web伺服器不同的是它們可以發起與其他伺服器的通訊,以便按需定位所請求的內容);內容路由器;轉碼器;匿名者(匿名者代理會主動從HTTP報文中刪除什麼特性)


3、代理的階層

通過代理層級結構將代理級聯起來。代理階層中的Proxy 伺服器被賦予了父和子的關係。下一個入口代理(靠近伺服器)被稱為父代理,下一個出口代理(靠近用戶端)被稱為子代理。Proxy 伺服器可以根據眾多因素,將報文轉寄給一個不斷變化的Proxy 伺服器和原始伺服器集。


4、代理如何擷取流量

修改用戶端:很多Web用戶端都支援手工和自動的代理配置。若將用戶端配置為使用Proxy 伺服器,用戶端都會將HTTP請求有意地直接發送給代理,而不是原始伺服器。

修改網路:在用戶端不知情的情況下,攔截網路流量並將其匯入代理。這種攔截通常都依賴於監視HTTP流量的交換裝置及路由裝置。這種代理被稱為攔截代理。

修改DNS的命名空間:放在Web伺服器之前的Proxy 伺服器——反向 Proxy,會直接假扮Web伺服器的名字和IP地址,這樣,所有的請求就會發送給這些反向 Proxy,而不是伺服器了。要實現這一點可以手工編輯DNS名稱列表,或者用特殊的動態DNS伺服器根據需要來確定適當的代理或伺服器。

修改Web伺服器:可以將某些Web伺服器配置為向用戶端發送一條HTTP重新導向命令,將用戶端請求重新導向到一個代理上去。


5、與代理請求有關的一些棘手問題

5.1、用戶端向代理和伺服器發送請求時,HTTP請求報文中的URI會有所不同。沒有設定代理的用戶端向伺服器發送請求時會發送部分URI,設定代理的用戶端發送完整URI。

5.2、虛擬機器主機面臨的問題和代理一樣,虛擬機器主機Web伺服器需要知道目的Web網站的主機名稱,通過Host首部來承載主機和連接埠資訊。

5.3、根據是否有代理,瀏覽器對請求URI的解析會有不同。沒有代理時,瀏覽器會擷取URI,嘗試尋找響應的IP,若沒有找到主機,很多瀏覽器都會嘗試著提供某種主機名稱自動”擴充“機制,以防使用者輸入的是縮寫形式。但是如果有顯式代理,那麼使用者的URI會直接發送給代理,瀏覽器不再執行這一擴充功能,而是交給代理來做。


6、追蹤報文

via首部欄位列出了與報文途徑中的每個中間節點有關的資訊。代理也可以用via首部來檢測網路中的路由迴圈。代理應該在發送一條請求之前,在via首部插入一個與其自身有關的獨特字串,並在輸入的請求中尋找這個字串,以檢測網路中是否存在路由迴圈。

每個via中的中間節點的格式最多包含4個組件:一個可選的協議名,一個必選的協議版本,一個必選的節點名和一個可選的描述性注釋。

關於via的隱私問題:有時候,我們並不希望在via字串中使用確切的主機名稱。總的來說,除非顯式地允許這種行為,否則當Proxy 伺服器作為網路防火牆的一部分使用時,是不應該轉寄防火牆後面那些主機的名字和連接埠號碼的,因為防火牆後面的網路結構資訊可能會被惡意群體利用。


7、通過HTTP/1.1的TRACE方法,使用者可以跟蹤經代理鏈傳輸的請求報文,觀察報文經過了哪些代理,以及每個代理是如何對請求報文進行修改的。通常,不管中間插入了多少代理,TRACE報文都會沿著整條路徑傳到目的伺服器上。可以使用Max-Forwards首部來限制TRACE和OPTIONS請求所經過的代理跳數,來查看在代理鏈的任意一跳上接收到的請求。


8、代理認證

代理可以作為存取控制裝置使用。HTTP定義了一種名為代理認證的機制,這種機制可以阻止對內容的請求,直到使用者向代理提供了有效存取權限認證為止。

本文出自 “蓮的思念” 部落格,請務必保留此出處http://liandesinian.blog.51cto.com/7737219/1558270

第6章 代理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.