正向代理 和反向代理
阿新 • • 發佈:2018-12-10
代理,字面意義上來說,他就是相當於一箇中間人這麼個概念。
帶到專案中也一樣,那麼來這樣一個比喻。
使用者(客戶端) 代理(正,反) 提供者(服務端)。
正向代理。
把整個流程比如成去飯店吃飯,我們也就是使用者(客戶端)去飯店吃飯(傳送一個請求),你知道你要吃的是魚香肉絲(請求),可是你不能自己做,那麼就需要讓大廚(服務端)給你做 ,可是去了飯店,大廚是在後臺的,你也不能直接去告訴大廚,因為你沒有許可權(服務端在後臺)這時候就需要服務員(代理)來幫忙告訴說某某某客戶(客戶端)要一盤魚香肉絲(請求/訪問資源)大廚(服務端)收到給做好然後交給服務員(代理)服務員拿到魚香肉絲(資源/響應)給客戶(使用者端)送回來。
好,簡單的流程結束。這樣大家明白代理的作用了吧。
反向代理。
繼續比喻,說我們(客戶端)今天要在你飯店吃一個大閘蟹(請求),服務員(代理)收到這個請求發現大廚做不了這個大閘蟹,可是又需要掙錢,這怎麼辦呢?服務員這麼一想,隔壁那家飯店可以做,而我也和那家大廚(另一個服務端)有交集,那我去讓另一家大廚給做怎麼樣?好。於是服務員就去告訴另一家大廚說你幫我做一個大閘蟹(請求)吧,隔壁大廚說好呀,可以。就做好交給服務員。那麼這個時候,這個服務員(反向代理)就成為了反向代理,因為他去呼叫別的服務端。這個時候我們(客戶端)通常來說是沒必要知道這大閘蟹怎麼來的,只要有就好。
直接一句話 正向代理表示 請求者 發出指令 說要去找誰誰誰去獲取什麼資源 代理伺服器根據請求到指定伺服器上面去拿資源
反向代理 就是向代理伺服器說我要啥啥啥 請求者不管他是向那個伺服器拿資源 直接給我返回過來就行