? ? ? ?當(dāng)用戶輸入baidu.com 到瀏覽器中的時(shí)候,此時(shí)瀏覽器接收到的是一個(gè)域名,對(duì)于瀏覽器來說,域名并不能被讀取,那么瀏覽器是怎樣將首頁上的內(nèi)容展現(xiàn)出來的呢?
域名
? ? ? ?首先要分析什么是域名,域名的縮寫是DNS(Domain Name System ,域名系統(tǒng)),單純的域名是不能被瀏覽器所讀取的,需要經(jīng)過瀏覽器的解析。
域名的解析
? ? ? ? 域名的解析就是將域名所對(duì)應(yīng)的ip地址找到,有多種查詢域名對(duì)應(yīng)ip的途徑,這里使用的是瀏覽器緩存,瀏覽器將域名所對(duì)應(yīng)的ip的記錄暫存在DNS緩存里面一段時(shí)間,通過查詢DNS緩存就可以找到baidu.com 所對(duì)應(yīng)的ip地址。
服務(wù)器的處理
? ? ? ? 找到域名所對(duì)應(yīng)的ip后,瀏覽器向ip地址發(fā)出請(qǐng)求,經(jīng)過web服務(wù)器處理之后轉(zhuǎn)到相應(yīng)的網(wǎng)站。
網(wǎng)站的處理
? ? ? ? ?網(wǎng)站通過MVC(模型視圖控制器)流程對(duì)相應(yīng)的請(qǐng)求進(jìn)行處理,返回給瀏覽器相應(yīng)的html字符串。
瀏覽器的處理和網(wǎng)頁呈現(xiàn)
? ? ? ? 返回到瀏覽器的HTML字符串被解讀后,經(jīng)過HTML和css計(jì)算得到渲染樹,呈現(xiàn)到屏幕上,js會(huì)被執(zhí)行,呈現(xiàn)出一個(gè)完整的網(wǎng)頁。
? ? ? ? ? 這樣就可以得到一個(gè)的百度首頁了。