正向代理的概念:
正向代理,也就是傳說(shuō)中的代理,他的工作原理就像一個(gè)跳板,
簡(jiǎn)單的說(shuō),
我是一個(gè)用戶,我訪問(wèn)不了某網(wǎng)站,但是我能訪問(wèn)一個(gè)代理服務(wù)器
這個(gè)代理服務(wù)器呢,他能訪問(wèn)那個(gè)我不能訪問(wèn)的網(wǎng)站
于是我先連上代理服務(wù)器,告訴他我需要那個(gè)無(wú)法訪問(wèn)網(wǎng)站的內(nèi)容
代理服務(wù)器去取回來(lái),然后返回給我
從網(wǎng)站的角度,只在代理服務(wù)器來(lái)取內(nèi)容的時(shí)候有一次記錄
有時(shí)候并不知道是用戶的請(qǐng)求,也隱藏了用戶的資料,這取決于代理告不告訴網(wǎng)站
結(jié)論就是 正向代理 是一個(gè)位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。
反向代理的概念:
繼續(xù)舉例:
例用戶訪問(wèn) http://ooxx.me/readme
但ooxx.me上并不存在readme頁(yè)面
他是偷偷從另外一臺(tái)服務(wù)器上取回來(lái),然后作為自己的內(nèi)容吐給用戶
但用戶并不知情
這很正常,用戶一般都很笨
這里所提到的 ooxx.me 這個(gè)域名對(duì)應(yīng)的服務(wù)器就設(shè)置了反向代理功能
結(jié)論就是 反向代理正好相反,對(duì)于客戶端而言它就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置??蛻舳讼蚍聪虼?的命名空間(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容 原本就是它自己的一樣。
兩者的區(qū)別:
從用途上來(lái)講:
正向代理的典型用途是為在防火墻內(nèi)的局域網(wǎng)客戶端提供訪問(wèn)Internet的途徑。正向代理還可以使用緩沖特性減少網(wǎng)絡(luò)使用率。反向代理的典型用途是將 防火墻后面的服務(wù)器提供給Internet用戶訪問(wèn)。反向代理還可以為后端的多臺(tái)服務(wù)器提供負(fù)載平衡,或?yàn)楹蠖溯^慢的服務(wù)器提供緩沖服務(wù)。
另外,反向代理還可以啟用高級(jí)URL策略和管理技術(shù),從而使處于不同web服務(wù)器系統(tǒng)的web頁(yè)面同時(shí)存在于同一個(gè)URL空間下。
從安全性來(lái)講:
正向代理允許客戶端通過(guò)它訪問(wèn)任意網(wǎng)站并且隱藏客戶端自身,因此你必須采取安全措施以確保僅為經(jīng)過(guò)授權(quán)的客戶端提供服務(wù)。
反向代理對(duì)外都是透明的,訪問(wèn)者并不知道自己訪問(wèn)的是一個(gè)代理。