我們想請求一個服務器的資源,由於防火牆,跨域等限制,不能直接得到。於是我們可以找代理,把我們的請求給代理,代理去請求那個服務器,然后返回給我們。
這叫正向代理。
本文轉載自:http://blog.csdn.net/m13666368773/article/details/8060481
一、正向代理的概念
正向代理,也就是傳說中的代理,他的工作原理就像一個跳板,簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理服務器,這個代理服務器呢,他能訪問那個我不能訪問的網站,於是我先連上代理服務器,告訴他我需要那個無法訪問網站的內容,代理服務器去取回來,然后返回給我。從網站的角度,只在代理服務器來取內容的時候有一次記錄,有時候並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。
結論:正向代理是一個位於客戶端和原始服務器(origin server)之間的服務器,為了從原始服務器取得內容,客戶端向代理發送一個請求並指定目標(原始服務器),然后代理向原始服務器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
二、反向代理的概念
舉例:用戶想訪問:"http://ooxx.me/readme",但ooxx.me上並不存在readme頁面,他是偷偷從另外一台服務器上取回來,然后作為自己的內容吐給用戶,但用戶並不知情,這很正常,用戶一般都很笨。這里所提到的ooxx.me 這個域名對應的服務器就設置了反向代理功能。
結論:反向代理正好相反,對於客戶端而言它就像是原始服務器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理的命名空間(name-space)中的內容發送普通請求,接着反向代理將判斷向何處(原始服務器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。
三、正向代理和反向代理的區別
從用途上來講:正向代理的典型用途是為在防火牆內的局域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性減少網絡使用率。反向代理的典型用途是將防火牆后面的服務器提供給Internet用戶訪問。反向代理還可以為后端的多台服務器提供負載平衡,或為后端較慢的服務器提供緩沖服務。另外,反向代理還可以啟用高級URL策略和管理技術,從而使處於不同web服務器系統的web頁面同時存在於同一個URL空間下。
從安全性來講:正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此你必須采取安全措施以確保僅為經過授權的客戶端提供服務。反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。
打個比方,a,b,c三個人,正向代理是a通過b向C借錢,a知道c的存在 。反向代理是a向b借錢,b又向C借,a不知道c的存在。