話說武當山上,張三豐老道開創武當一派,收了七個弟子,分別是:宋遠橋、俞蓮舟、俞岱巖、張松溪、張翠山、殷梨亭、莫聲谷七人,號稱武當七俠。七弟子中,宋遠橋是掌門,精研易理,同時對于相面算命很有研究。俞蓮舟武功最強,太極拳很厲害,殷梨亭擅長劍術,其他弟子也各有所長。
張三豐常年閉關,鉆研武學,而這七個弟子又收了一些弟子,其中宋遠橋的兒子宋青書是武當第三代弟子中的佼佼者。
依照武當的規矩,各個弟子(Client)可以向七位師傅(Server)討教,可以把練功中的疑難寫在紙上(Request),送到各位師父的住處,然后由各個師傅解答(Response)。
這種關系,就是最直接的服務器-客戶機關系。
但是,這樣存在一些問題,武當七俠住在不同的地方,有的地方很艱險,不是所有的弟子都可以到達的,這樣,宋遠橋就叫宋青書跑腿(Proxy Server),每個弟子只要知道宋青書的住處(設定代理地址),把疑難寫在紙條上,再寫上要請教的師父的姓名,再交給宋青書,就可以了。宋青書將紙條轉交給七俠之一,將答復的紙條給各個弟子。
對于宋青書而言,各個弟子向他投遞紙條,由他轉交各位師父,在這種關系里,宋青書相當于師父(Server),各位弟子是徒弟(Client),然后宋青書向七俠請教,這種關系里,宋青書是Client,七俠是Server,中間的過程,就叫代理(Proxy),宋青書就相當于代理服務器。
這種代理關系里面,各個弟子需要知道宋青書的地址(設定代理地址),這種關系叫做顯式代理(Explicit Proxy),IE,MediaPlayer都可以設置代理。
經過一段時間,各個弟子也覺得這種方法雖然避免了很多的麻煩,但是很慢。宋青書也對這種跑腿的事情感到厭煩,他發現大多數人問的問題集中在幾個問題上(80%的訪問集中在20%的內容上),于是,宋青書就把這幾個問題的答案記在自己的IBM筆記本上(緩存),以后凡是弟子們問到這幾個問題,宋青書不需要再去問七俠,直接找出答案回復給各個弟子,這樣各個弟子得到答復的速度快多了,武當七俠也有更多的時間干點其他事情(減輕了Server的負擔)。宋青書的腦袋比較靈活,他還寫了個程序,統計各個問題被問到的頻率,隨時記下新的熱門問題,淘汰不再熱門的問題(緩存替換算法)。
過了一段時間,宋遠橋偷偷告訴宋青書,說準備把他作為掌門繼承人,讓他好好表現。宋青書于是改變工作作風,不再讓各個弟子把紙條交給他,而是跑來跑去收集紙條,交給武當七俠。很多新弟子只是知道把紙條寫好放在門口,自然會得到武當七俠的指導,大家都忘了宋青書干的這份事情,但是張三豐老道對宋青書可是十分的贊賞,立他為武當掌門繼承人。
這種關系,叫做隱式代理(Implicit Proxy),客戶意識不到代理服務器的存在,也不需要設定代理服務器的地址,但是客戶請求和服務器回應都會經過代理服務器,對于客戶而言,代理服務器是透明的(transparent)。