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