正向代理反向代理 简(fu)明(za)解释
最近寫的東西越來越偏向Web程序員了···
你想讀懂本篇,就要知道什么是Web服務器——裝在世界上某個機房里某臺機器里某個操作系統里的一個,對外(公網或者你能訪問)服務各種你需要的信息的軟件!
它可以是Apache、Nginx、Tengine、IIS(滾)...
正向代理
沒有多余的解釋,四個字——科#學#上#網。
(什么?你不知道?)好吧。假設你上不了谷歌,N站,油管,91(滾)——你需要一個能上這些網站的玩意兒幫你上,然后讓他把你想看的東西轉給你,這個他可以是一個人,也可以是一臺中間服務器,如果是一臺中間服務器,那它就是所謂的“正向代理”。
反向代理
題外話:當初我覺得,正向代理就是 我~中間服務器~我真正想訪問但是不能訪問的服務器,那么 反向代理不就是:我真正想訪問但是不能訪問的服務器~中間服務器~我 了嗎?這不就是服務器想偷我的數據?
總之這種“專業名詞”還真不是一時半會兒能消化的,沒辦法,誰讓某些面試官這么喜歡考呢?
?
正文:
先捋清楚什么是正向代理——或者說,反向代理是相對于正向代理的本質而言的。
正向代理,通俗點說,就是中間服務器的功能是:跳板。
反向代理,通俗點說,就是中間服務器的功能是:前臺服務員。
有什么區別?正向代理的本質就是,我希望我!自己!能訪問我不能訪問,但是我知道我想訪問的地方。
反向代理的本質就是:我希望我訪問某個地方的時候,它后面幫我干什么我不關心,我只關心前臺能不能找到我想要的東西。
?
再用簡單點的話說,正向代理,中間服務器幫“我們”訪問“我們不能訪問的地方(但是我知道我想訪問哪里(谷歌N站))”
反向代理,中間服務器幫“我們”尋找“我想要的東西(我不知道東西在哪里,但是中間服務器一定知道)”
?
從最終訪問的資源信息所在地來說,用正向代理訪問谷歌,那么正向代理像個中介,谷歌才是我想找的人;
我們訪問百度網盤,百度會用反向代理幫我們上傳下載東西,而上傳去哪里從哪里下載(具體到某個機房的某臺電腦),我們不知道,這個時候百度網盤的地址"pan.baidu.com/..."和后面的存儲服務器是“一伙人”,這個地址就扮演了前臺服務員的角色——和銀行柜員很像。
腦洞
有沒有正反向代理一起用的時候呢?有。
綜上所述,正向代理是我知道我要什么東西但是我要不到,托個家伙幫我(代購)——重要的是,商家并不知道真正想買東西的人是我;反向代理是某個室內裝修施工隊的頭兒和他的馬仔,這個時候如果我要找這個頭兒幫我辦點事,馬仔十之八九知道是我想辦點什么事情,而我不用知道幫我辦事的馬仔是誰,我只要管和頭兒交流就可以了。
所以,反向代理很多情況是中間服務器和最終幫我干活的服務器是一伙人。
所以,正反向一起用,就是(我,科#學#上#網,用谷歌地圖,谷歌地圖反向代理幫我找到地圖存儲的地方并拼合起來返回給我,我自己不用找)
?
再比較
假設A是我,B是中間服務器,C是我想訪問又訪問不到的地方。
step1:A->C(不行)
step2:A->B(可以)發現 B->C(可以)
step3:A->(嘿B幫我上一下C)B->C
以上為正向代理,我(A)真正想訪問的是C,不是你B,但是實際訪問的是B。
?
假設A是我,B是我想訪問而且可以訪問的地方,C是B能訪問但是我不知道的地方,但是我要的東西在C上。
step1:A->B(嘿B幫我個事兒唄)
step2:A->B(好嘞,我這就幫你)
step3:B->C(小C啊幫我整一下這事兒,待會快點給個結果我,外面等著要呢)(C:成,馬上)
step4:A(收到B的結果,實際上是C的結果)
以上為反向代理,我(A)真正想訪問的是B,不是C,雖然實際訪問的是B,但是實際結果是C出來的——我卻不知道。
?
相同點:B都扮演了中介的角色,看起來都是B給A傳遞的數據,實際數據也都是C出來的;所以說,不管正向代理,反向代理,都是“代理(中介)”
不同點:正向代理中A是知道C的存在的,而且認為C才是服務的提供者;反向代理中A認為為是B提供的服務,但是實際上是C提供的服務。
?
?
?
本篇為個人向記錄,如果有什么術語解釋不對歡迎留言···
轉載于:https://www.cnblogs.com/onsummer/p/10727872.html
總結
以上是生活随笔為你收集整理的正向代理反向代理 简(fu)明(za)解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 团队nabcd(校园大事件)
- 下一篇: VM VirtualBox 虚拟机lin