聊聊代理

聊聊代理

代理是什麼?代理就是我代表你,僅此而已,這就是代理。

代理有啥好處?舉個例子,我要去和人打官司,但是我不是法律通,法律小白,那怎麼辦?

好辦!找個律師,由律師全權代理這件事,律師也就成了我的代理人,所有人需要找我的話,不用直接找我,請直接找我的律師,他是我的代理人!

找律師有什麼好處?律師精通相關法律,並且知曉我全部事情,那麼就可以運用他的法律專業知識和對我的事情瞭解,來幫我贏得官司!

因爲律師的存在,補充了我在打官司這個事情中,法律知識和能力的缺失,律師帶着我的案件和他的法律知識,成爲一個新的個體:代理人!

這就是所謂代理:通過引入中間人對原有功能的缺失做一個補充增強,這個中間人就是代理人,這種行爲就是代理。

生活中的代理隨處可見,也比較簡單,比如律師,我怎麼知道我找你就行了?好辦,拿出一個委託代理協議就可以了。給別人代辦事情,出具一個委託代理證明即可。

我們使用時Nginx,把Nginx的地址對外發布,其他客戶端訪問時就知道訪問這個地址就可以了。

靜態代理

明白了代理是個什麼事情,那麼就來說說靜態代理,什麼是靜態代理?

靜態就是不變的,已知的。

我們上面的舉的例子有些就是靜態代理,比如在提起訴訟的時候,就已經確定了律師是誰。

這種一個事情的開始時候就確定下來的,就是靜態代理。

動態代理

有靜就有動,陰陽才能調和。

那麼動態代理是啥呢?在事情的進行過程中才確切知道我的律師是誰,比如法官說,有請被告律師發言,結果突然在聽衆席中一個人起身滔滔不絕,所有人一臉懵逼!

不過這種情況確實是一個動態代理,在需要用到這個律師的時候,所有人才知道律師是誰,哪怕是被代理人都不知道。

是不是很詭異?這種情況對應到現實中是很難被接受的,而且很不利於事情的處理。

那麼生活中是不是就沒有了動態代理呢?答案肯定是否定的!

比如我辦理了身份證,需要拿身份證的時候,我不方便過去,怎麼辦呢?找個人幫我拿一下。但是對於公安局來說,身份證這麼重要的東西,不能隨便來個人就可以領取啊!這麼來辦,整個代領取身份證的協議,到時候是本人或者不是不是本人,只要有這個協議,我就把身份證給你,對於公安局來說,我並不知道會是誰來領取,直到領取的人來了我才知道。

這就是所謂的動態代理。

動靜對比

那麼動態代理和靜態代理哪個好呢?

各有各的優缺點

對於靜態代理來說,比較簡單,明瞭。

而動態代理就複雜了些,我們還得整個協議,然後確認協議等。

但是靜態代理不夠靈活,動態代理能帶來更大的靈活性。

比如,我說不知道到時候自己能不能親自過來領取身份證,如果是靜態代理的話,這個時候就要指定一個人來幫我領,這種提前指定,死板,沒辦法變更。但是也簡單,代理人過來,公安局直接就知道就是你了,也不用出具什麼代理委託證明協議了。

這種方式最大的問題在於,我怎麼能很好的確定下這個代理人呢?如果我確定好的人,到時候因爲別的事,去不了了,我又沒法變更代理人,這事就無解了。

正反向代理

無論正向代理還是反向代理,其實都是靜態代理,正反代理常用於計算機網絡中,這是因爲在計算機網絡中,多了一個固定的Client和Server,在這種固定模式下,代理人作爲哪一方的代理是不同的。

比如,代理人作爲Client的代理,那麼這種情況下,就是一個正向代理,也叫Forward Proxy

如果代理人作爲Server的代理呢,就是反向代理,因爲和正向代理的方向相反,所以叫反向代理。

那麼更具體的正向代理和反向代理的區別是啥呢?

就是看代理人在代理時,Client是有限的,還是Server是有限的。

如果Client的數量是有限的,並且和代理人強關聯,那麼就是一個正向代理

反之如果Sever的數量是有限的呢,就是一個反向代理。

這裏的強關聯,比如正向代理一般都是有認證到代理服務器的。

而反向代理的話,對於代理服務器是知道所有被它代理的Server。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章