請求和響應(yīng)的本質(zhì)都是電信號和光信號婴梧,這些信號可能會因受到雜音等的干擾而損壞。
由于請求和響應(yīng)都是由0和1組成的數(shù)字信息,所以可以說绝淡,我們需要的是一種能夠?qū)?shù)字信息搬運到指定目的地的機(jī)制缠捌。
這種機(jī)制是由操作系統(tǒng)中的網(wǎng)絡(luò)控制軟件锄贷,以及交換機(jī)、路由器等設(shè)備分工合作來實現(xiàn)的曼月,它的基本思路是將數(shù)字信息分割成一個一個的小塊谊却,然后裝入一些被稱為“包”(Packet)的容器中來運送。
包相當(dāng)于信件或者包裹十嘿,而交換機(jī)和路由器則相當(dāng)于郵局或快遞公司的分揀處理區(qū)因惭。包的頭部存有目的地等控制信息,通過許多交換機(jī)和路由器的接力绩衷,就可以根據(jù)控制信息對這些包進(jìn)行分揀蹦魔,然后將它們一步一步地搬運到目的地激率。無論是家庭和公司里的局域網(wǎng),還是外面的互聯(lián)網(wǎng)勿决,它們只是在規(guī)模上有所不同乒躺,基本的機(jī)制都是相同的。
第1章Web瀏覽器
~~~
當(dāng)我們輸入下面這樣的網(wǎng)址時低缩,瀏覽器就會按照一定的規(guī)則去分析這個網(wǎng)址的含義嘉冒,然后根據(jù)其含義生成請求消息。
瀏覽器并不會親自負(fù)責(zé)數(shù)據(jù)的傳送咆繁。傳送消息是搬運數(shù)字信息的機(jī)制負(fù)責(zé)的工作讳推,因此瀏覽器會委托它將數(shù)據(jù)發(fā)送出去。具體來說玩般,就是委托操作系統(tǒng)中的網(wǎng)絡(luò)控制軟件將消息發(fā)送給服務(wù)器银觅。
第2章協(xié)議棧、網(wǎng)卡
~~~
協(xié)議棧(網(wǎng)絡(luò)控制軟件叫作協(xié)議棧)坏为。這個軟件會將從瀏覽器接收到的消息打包究驴,然后加上目的地址等控制信息。
協(xié)議棧會將包交給網(wǎng)卡(負(fù)責(zé)以太網(wǎng)或無線網(wǎng)絡(luò)通信的硬件)匀伏。然后洒忧,網(wǎng)卡會將包轉(zhuǎn)換為電信號并通過網(wǎng)線發(fā)送出去。這樣一來够颠,包就進(jìn)入到網(wǎng)絡(luò)之中了熙侍。
第3章集線器、交換機(jī)摧找、路由器
~~~
假設(shè)客戶端計算機(jī)是連接到家庭或公司的局域網(wǎng)中核行,然后再通過ADSL和光纖到戶(FTTH)等寬帶線路接入互聯(lián)網(wǎng)。
網(wǎng)卡發(fā)送的包會經(jīng)過交換機(jī)等設(shè)備蹬耘,到達(dá)用來接入互聯(lián)網(wǎng)的路由器芝雪。路由器的后面就是互聯(lián)網(wǎng),網(wǎng)絡(luò)運營商會負(fù)責(zé)將包送到目的地综苔,就好像我們把信投到郵筒中之后惩系,郵遞員會負(fù)責(zé)把信送給收件人一樣。
第4章接入網(wǎng)如筛、網(wǎng)絡(luò)運營商
~~~
互聯(lián)網(wǎng)的入口線路稱為接入網(wǎng)堡牡。一般來說,我們可以用電話線杨刨、ISDN晤柄、ADSL、有線電視妖胀、光線芥颈、專線等多種通信線路來接入互聯(lián)網(wǎng)惠勒,這些通信線路統(tǒng)稱為接入網(wǎng)。
接入網(wǎng)連接到簽約的網(wǎng)絡(luò)運營商爬坑,并接入被稱為接入點(Point of Presence, PoP)的設(shè)備纠屋。接入點的實體是一臺專為運營商設(shè)計的路由器,我們可以把它理解為離你家最近的郵局盾计。
網(wǎng)絡(luò)包首先通過接入網(wǎng)被發(fā)送到接入點售担,然后再從這里被發(fā)送到全國甚至全世界。接入點的后面就是互聯(lián)網(wǎng)的骨干部分了署辉。
在骨干網(wǎng)中存在很多運營商和大量的路由器族铆,這些路由器相互連接,組成一張巨大的網(wǎng)涨薪,而我們的網(wǎng)絡(luò)包就在其中經(jīng)過若干路由器的接力骑素,最終被發(fā)送到目標(biāo)Web服務(wù)器上炫乓。
路由器不但在規(guī)模上存在差異刚夺,在路由器間的連接方式上也存在差異。家庭和公司局域網(wǎng)中一般采用以太網(wǎng)線進(jìn)行連接末捣,而互聯(lián)網(wǎng)中除了以太網(wǎng)線連接之外侠姑,還會使用比較古老的電話技術(shù)和最新的光通信技術(shù)來傳送網(wǎng)絡(luò)包。
第5章防火墻箩做、緩存服務(wù)器
~~~
通過骨干網(wǎng)之后莽红,網(wǎng)絡(luò)包最終到達(dá)了Web服務(wù)器所在的局域網(wǎng)中。接著邦邦,它會遇到防火墻安吁,防火墻會對進(jìn)入的包進(jìn)行檢查。
如果要訪問的網(wǎng)頁數(shù)據(jù)正好在緩存服務(wù)器中能夠找到燃辖,那么就可以不用勞煩Web服務(wù)器鬼店,直接從緩存服務(wù)器讀出數(shù)據(jù)。此外黔龟,在大型網(wǎng)站中妇智,可能還會配備將消息分布到多臺Web服務(wù)器上的負(fù)載均衡器,還有可能會使用通過分布在整個互聯(lián)網(wǎng)中的緩存服務(wù)器來分發(fā)內(nèi)容的服務(wù)氏身。經(jīng)過這些機(jī)制之后巍棱,網(wǎng)絡(luò)包才會到達(dá)Web服務(wù)器。
第6章Web服務(wù)器
~~~
當(dāng)網(wǎng)絡(luò)包到達(dá)Web服務(wù)器后蛋欣,數(shù)據(jù)會被解包并還原為原始的請求消息航徙,然后交給Web服務(wù)器程序。和客戶端一樣陷虎,這個操作也是由操作系統(tǒng)中的協(xié)議棧(網(wǎng)絡(luò)控制軟件)來完成的到踏。
Web服務(wù)器程序分析請求消息的含義倒得,并按照其中的指示將數(shù)據(jù)裝入響應(yīng)消息中,然后發(fā)回給客戶端夭禽。響應(yīng)消息回到客戶端的過程和之前我們介紹的過程正好相反霞掺。
當(dāng)響應(yīng)到達(dá)客戶端之后,瀏覽器會從中讀取出網(wǎng)頁的數(shù)據(jù)并在屏幕上顯示出來讹躯。