1. 程式人生 > >簡述正向代理與反向代理

簡述正向代理與反向代理

代理伺服器 Proxy Serve

提供代理服務的電腦系統或其它型別的網路終端,代替網路使用者去取得網路資訊。

為什麼使用代理伺服器

  • 提高訪問速度
    由於目標主機返回的資料會存放在代理伺服器的硬碟中,因此下一次客戶再訪問相同的站點資料時,會直接從代理伺服器的硬碟中讀取,起到了快取的作用,尤其對於熱門網站能明顯提高訪問速度。

  • 防火牆作用
    由於所有的客戶機請求都必須通過代理伺服器訪問遠端站點,因此可以在代理伺服器上設限,過濾掉某些不安全資訊。同時正向代理中上網者可以隱藏自己的IP,免受攻擊。

  • 突破訪問限制
    網際網路上有許多開發的代理伺服器,客戶機在訪問受限時,可通過不受限的代理伺服器訪問目標站點,通俗說,我們使用的翻牆瀏覽器就是利用了代理伺服器,可以直接訪問外網。


作者:大白快跑8
來源:CSDN
原文:https://blog.csdn.net/zt15732625878/article/details/78941268
版權宣告:本文為博主原創文章,轉載請附上博文連結!

正向代理

正向代理(forward proxy) ,一個位於客戶端和原始伺服器之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並制定目標(原始伺服器),然後代理向原始伺服器轉發請求並將獲得的內容返回給客戶端,客戶端才能使用正向代理。我們平時說的代理就是指正向代理。

簡單一點:A向C借錢,由於一些情況不能直接向C借錢,於是A想了一個辦法,他讓B去向C借錢,這樣B就代替A向C借錢,A就得到了C的錢,C並不知道A的存在,B就充當了A的代理人的角色。

在這裡插入圖片描述

  • 作用
  1. 訪問原來無法訪問的資源
  2. 用作快取,加速訪問速度
  3. 對客戶端訪問授權,上網進行認證
  4. 代理可以記錄使用者訪問記錄(上網行為管理),對外隱藏使用者資訊

反向代理

反向代理(Reverse Proxy),以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求的客戶端,此時代理伺服器對外表現為一個反向代理伺服器。

理解起來有些抽象,可以這麼說:A向B借錢,B沒有拿自己的錢,而是悄悄地向C借錢,拿到錢之後再交給A,A以為是B的錢,他並不知道C的存在


在這裡插入圖片描述

  • 作用
  1. 保護內網安全
  2. 負載均衡
  3. 快取,減少伺服器的壓力
    Nginx作為最近較火的反向代理伺服器,安裝在目的主機端,主要用於轉發客戶機請求,後臺有多個http伺服器提供服務,nginx的功能就是把請求轉發給後臺的伺服器,決定哪臺目標主機來處理當前請求。

兩者區別

  • 位置不同
    正向代理,架設在客戶機和目標主機之間;
    反向代理,架設在伺服器端;

  • 代理物件不同
    正向代理,代理客戶端,服務端不知道實際發起請求的客戶端;
    反向代理,代理服務端,客戶端不知道實際提供服務的服務端;
    在這裡插入圖片描述

  • 用途不同
    正向代理,為在防火牆內的區域網客戶端提供訪問Internet的途徑;
    反向代理,將防火牆後面的伺服器提供給Internet訪問;

  • 安全性不同
    正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此必須採取安全措施以確保僅為授權的客戶端提供服務;
    反向代理都對外都是透明的,訪問者並不知道自己訪問的是哪一個代理。

一句話總結

正向代理是從客戶端的角度出發,服務於特定使用者(比如說一個區域網內的客戶)以訪問非特定的服務;反向代理正好與此相反,從服務端的角度出發,服務於非特定使用者(通常是所有使用者),已訪問特定的服務。

借用網友的一張神圖作為結尾:
在這裡插入圖片描述

原文連結: https://blog.csdn.net/zt15732625878/article/details/78941268