1. 程式人生 > >關於正向代理和反向代理相關

關於正向代理和反向代理相關

正向代理是什麼?

就是本來是使用者A可以與伺服器B進行通訊,但是在中間加了一個代理伺服器,來代理A,先進性與B的通訊,正向代理需要在使用者機上進行配置,提前要知道正向代理伺服器的IP地址,和代理程式的埠。

正向代理可以用來幹什麼?

如果使用者A不能通過正常途徑來訪問伺服器B,或者可以說使用者A訪問伺服器B要經過的兩個路由不可用,而代理伺服器不在不可用的兩個路由中。那麼就可以通過代理伺服器來訪問伺服器B。

可以進行加速訪問伺服器,如果使用者A到代理伺服器,到伺服器的頻寬要高於正常訪問途徑的頻寬,通過代理伺服器進行訪問可以提高訪問速度。

快取技術,其實正向代理和反向代理都用到了快取技術。如果使用者A在訪問伺服器B的資源x之氣那,已經有使用者通過代理伺服器訪問伺服器B,並獲取該資源,那麼代理伺服器B,不再訪問伺服器B,而是把快取的資料直接傳送給使用者A。這個技術叫做cache命中。

客戶端授權訪問。在內網中可以通過代理伺服器限制使用者對於網際網路的訪問。例如,假設A和B都設定了代理伺服器,使用者A允許訪問網際網路,而B不允許訪問網際網路,這個可以在代理伺服器上做限制,使用者B因為沒有被代理伺服器收取那,訪問伺服器的時候,資料抱會直接被丟棄。

隱藏訪問者。伺服器B並不知道訪問自己的是實際使用者A,只知道代理伺服器。如果代理伺服器完全被A使用者控制,代理伺服器就是肉雞了。

總結一下,正向代理是一個位於客戶端和原始伺服器之間的伺服器,為了從原始伺服器取得內容,客戶端向代理髮送一個請求並指定目標,然後代理向原始伺服器請求並將獲得的內容返回給客戶端。客戶端必須設定正向大力伺服器,知道代理伺服器的IP地址,和代理程式的埠。

什麼是反向代理?

反向代理與正向代理就是相反的。對於客戶端而言,代理伺服器就像是原始伺服器,代理伺服器轉交請求給原始伺服器,將資料返回給客戶端。這個過程中,客戶端不需要進行任何設定。

反向代理可以用來幹什麼?

保護和隱藏原始資源伺服器。使用者A始終覺得它訪問的是原始伺服器,實際上它訪問的是代理伺服器。原始資源伺服器值允許代理伺服器訪問資源,防火牆和反向代理就會共同保護原始資源伺服器B。這些都是使用者A所不知道的。

可以進行負載均衡。反向代理伺服器不知一個的時候,可以將他們做成叢集,但不同的使用者去訪問資源伺服器B的時候,可以讓不同的代理伺服器去應答不同的客戶,傳送不同的請求資源。在這個過程中,反向代理伺服器一樣也可以利用快取,快取原始資源伺服器的資源,並不是每次都會進行請求,如果反向代理伺服器和使用者來自同一個網路,使用者訪問反向代理伺服器,就會獲得比較高的速度。這些可以成為CDN。

總結一下,反向代理和正向代理下相反。客戶端不需要進行特別的設定,客戶端向反向代理的名稱空間中的內容傳送普通的請求,接著反向代理判斷向(哪一個)原始資源伺服器傳送請求,並將獲得的內容返回給客戶端,假裝這些內容在自己上面。