代理服務器(Proxy Server)是指提供代理服務的電腦系統或其他類型的網絡終端,代理網絡用戶去取得網絡信息。
形象地說,它就是網絡信息的中轉站,就像一個大的Cache一樣,能顯著提高瀏覽速度和效率。
使用代理服務器主要有以下一些好處/功能:
提高訪問速度
通常代理服務器都會這只一個較大的硬盤緩沖區,當有外界的信息通過時,同時也將其保存到緩沖區中,當其他用戶再訪問相同的信息時,會直接由緩沖區中取出信息傳給用戶,以此來提高訪問速度。
防火牆作用
由於所有的客戶機請求都必須通過代理服務器訪問遠程站點,因此可以在代理服務器上設限,過濾掉某些不安全信息。同時,正向代理中上網者可以隱藏自己的IP,免受攻擊。
突破訪問限制
互聯網上有很多開放的代理服務器,當客戶機在訪問受限時,可以通過不受限的代理服務器訪問目標站點。比如說我們使用的翻牆瀏覽器就是利用了代理服務器,直接訪問國外網站。也可以訪問一些單位或團體的內部資源(內部局域網共享資源),比如在某個大學的FTP上進行上傳下載,當然前提是該代理地址在該資源的訪問范圍之內。
代理服務器主要分為兩種,一種是正向代理,一種是反向代理。
正向代理(Forward Proxy)
正向代理是一個位於客戶端和原始服務器之間的服務器。為了從原始服務器取得內容,客戶端向代理發送一個請求並制定目標(原始服務器),然后代理向原始服務器轉發請求獲得內容,然后將獲得的內容返回給客戶端。我們平常說的代理通常都是指的正向代理。
可以舉個形象的例子來說明:有一天,A君看到C君有巧克力(資源),然后A君就想吃C君的巧克力。可是怎么辦,A君和C君不熟吖,不能直接向C君要巧克力吃(訪問受限)。這時A君就很苦惱,要怎樣做才能吃到C君的巧克力呢?於是A君想啊想啊終於想到了一個辦法,就是找和C君關系好的B君(代理),找他去和C君要巧克力,然后再從B君那里拿到巧克力吃。這樣,A君就吃到C君的巧克力了,即使C君可能永遠不會知道A君吃了TA的巧克力。
正向代理主要有以下應用:
1.訪問原來無法訪問的資源。
2.用作緩存,加快訪問速度。
3.對客戶端訪問授權,上網進行認證。
4.代理可以記錄用戶訪問記錄(上網行為管理),對外隱藏用戶信息。
反向代理(Reverse Proxy)
反向代理則是以代理服務器來接受Internet上的連接請求,然后將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給Internet上請求的客戶端。這個時候的代理服務器對外表現就是一個反向代理服務器。在用戶看來,他只是訪問了代理服務器而已,實際訪問的服務器他並不知道,也無需關心。
同樣舉個例子來說明:有一天,A君想吃巧克力了,就打電話給B君,B君也沒有巧克力,可是卻不告訴A君,而是悄悄去向C君要了巧克力,然后給A君送了過去。A君只會以為巧克力是B君的,永遠不知道C君的存在。實際上,A君只要知道B君能給到TA巧克力就足夠了,至於巧克力是怎么來的,其實一點都不重要。
反向代理主要有以下應用:
1.保護內網安全。
2.負載均衡。
3.緩存,減少服務器壓力。
正向代理和反向代理的區別
正向代理和方向代理的區別,主要在代理對象、服務器架設位置、用途和安全性幾個方面。
代理對象不同
正向代理的代理對象是客戶端,服務端不知道實際發起請求的客戶端。還是上面的舉例,C君(服務端)不會知道A君(客戶端)通過B君(代理)吃到了TA的巧克力,只會知道B君拿了TA的巧克力。簡單理解就是,B君(代理)是站在A君(客戶端)這邊的。
反向代理的代理對象是服務端,客戶端不知道實際提供服務的服務端。同樣上面的舉例,A君(客戶端)不會知道巧克力是B君(代理)從C君(服務端)那里拿來給TA的,只會知道是B君給TA的。簡單理解就是,B君(代理)是站在C君(服務端)這邊的。
服務器架設位置不同
正向代理的服務器是架設在客戶機和目標主機之間的。
反向代理的服務器是架設在服務器端的。
從代理對象的不同上可以很好理解為什么服務器架設位置不同。
用途不同
正向代理的主要用途,是為在防火牆內的局域網客戶端提供訪問Internet的途徑。
反向代理的主要用途,是將防火牆后面的服務器提供給Internet訪問。
安全性不同
正向代理允許客戶端通過代理服務器訪問任意網站,並且可以隱藏客戶端自身,因此必須采取安全措施以確保僅為已授權的客戶端提供服務。
反向代理對外都是透明的,訪問者並不知道自己訪問的是哪一個代理。
其實正向代理和反向代理的區別用一張圖就足以表達了:
這張圖來自某位知乎大神,特別傳神哈哈哈,膜拜。
總的來說,正向代理是從客戶端的角度出發,服務於特定用戶(比如說一個局域網內的用戶),以訪問非特定的服務;反向代理則正好相反,是從服務端的角度出發,服務於非特定用戶(通常是所有用戶),以訪問特定的服務。
"有的人還來不及認識,可能就已經沒有機會告別了。"