Day21- What’s Proxy?

Tsung-Yu
Tom’s blog
Published in
5 min readApr 12, 2019
來源

其實這個名詞之前就已經疑問很久,所以就上網找資料,剛好做為此篇的紀錄。

什麼是Proxy?

根據維基百科的定義:

代理(Proxy)也稱網路代理,是一種特殊的網路服務,允許一個網路終端(一般為用戶端)通過這個服務與另一個網路終端(一般為伺服器)進行非直接的連接。一些閘道器路由器等網路裝置具備網路代理功能。一般認為代理服務有利於保障網路終端的隱私或安全,防止攻擊。

上述一段冗長的字,我是這樣理解 :

一種具有重要的電腦安全功能,也是特殊的網路服務,允許客戶端透過它和另一個網路服務進行非直接的連線。

舉個例子:

今天我幫家裡的父母跑腿,例如匯款, 因為我不是『申請者本人』而是『代理人』的角色,因此有時候會需要秀出一些證件,才能完成代辦事項。

將場景換至網路上面代理伺服器 (Proxy Server) 時:

當用戶端有網路的資料要求時,Proxy 會幫用戶去向目的地取得用戶所需要的資料。

這個詞最早應是出現在網路的防火牆功能中。可以用來保護網路的安全,在內部網路與外部網路之間建立一道像牆般的保護,所有的資料進出都必需經過這道牆。

Proxy 有那些好處 ?

減少單點對外的網路頻寬,降低網路負載量:

假設今天要造訪一個網站, 在正常的網路流程中,當使用者的瀏覽器看到 www.xxxx.com.tw的網域時,會向DNS尋找www.xxxx.com.tw所對應的IP,當DNS傳回對應的 IP後,瀏覽器會再對真正的伺服器索取資料,但如果網路塞車、網站的機器配備不好、網站的專線不夠快等不良的因素通通加在一起後,你要連接的網站就會變的很慢。

透過 Proxy Server ,可以把造訪的網頁資料暫存在一個位置,下次訪問該網站時可以直接從Proxy Server儲存的空間中(硬碟)進行資料快取( Cache),不必再向網路要資料。

以較短的路徑取得網路資料,加快上網速度:

可以指定 網路服務供應商(ISP) 提供的代理伺服器連接到國外,通常 ISP 提供的 Proxy 具有較大的對外頻寬,所以在對國外網站的資料取得上會比自己的主機連線到國外快多了。

提供防火牆內部的電腦連上網路

Proxy Server可以用來「代替」外部網路的電腦連接私有網路(內部網路)的網頁伺服器, 將內部網路內網頁伺服器的內容儲存在代理伺服器的記憶體,讓外部網路的電腦由代理伺服器的記憶體中讀取資料,而不直接由私有網路的網頁伺服器讀取。

簡單實作 Proxy設定(Chrome版本):

先到網頁右上角的工具點選符號為3個點的選項後點選 "設定"

往下滾動至系統的地方
點選開啟Proxy設定
就可以開始進行相關設定啦~

更多Proxy 相關設定可以參考鳥哥這篇文章

Proxy Server 如何運作 ?

Proxy Server 接受使用者的 request 之後會先檢查自己的 Server 上有沒有一份 Client 端要的資料,代理 Client 端到訪問的目的地去截取資料,一份給 Client 端,Proxy Server 內部也存放一份,下一個Client 端使用者來做 request 時,Proxy Server 便會一樣先在 Server 中檢查看看,檢查與目的端的資料是否相符,若相符則由 Proxy Server 直接給要求的 Client 端即可。

不過," 向目的地再 check 一次 " 這樣的動作,一開始在想: 不是會浪費時間嗎? 不過這是必要的,雖然要去的目的地的資料在 Proxy Server 上存放了一份,但是否是最新的是無法得知的,必需做比對,比對的時間不會長。例如: 新聞這類的網站,是隨時都在更新的,但是比對後相同的部分就不需要再向目的網站進行存取。

參考資料:

以上為今日筆記。

--

--