打開瀏覽器,輸入 baidu.com,頁面展示百度首頁。整個(gè)過程發(fā)生了什么?
一,輸入U(xiǎn)RL(統(tǒng)一資源定位符)
輸入baidu.com
二, 域名解析
瀏覽器緩存——瀏覽器有百度DNS則會(huì)緩存DNS,若沒有轉(zhuǎn)至下面。
系統(tǒng)緩存——從Host文件中查找對應(yīng)的百度域名和IP,若沒有轉(zhuǎn)至下面。
路由器緩存——路由器也會(huì)緩存部分DNS,查找是否有百度域名和IP。
ISP DNS 緩存——例如電信的DNS緩存。
以上都沒有的情況則向根域名服務(wù)器查域名對應(yīng)IP,根域名服務(wù)器將請求轉(zhuǎn)至下一級(jí),直至找到IP。
(DNS 劫持:指的是給了一個(gè)假IP但域名卻是一樣的。)
三,服務(wù)器處理
服務(wù)器指的是安裝系統(tǒng)的機(jī)器。web服務(wù)器接受用戶的請求,并交給網(wǎng)站代碼。
四,網(wǎng)站處理
模型(model)——視圖(view)——控制器(control)

image
MVC結(jié)構(gòu)
五,瀏覽器處理
HTML字符串被瀏覽器接受后被一句句讀取解析:
解析到link 標(biāo)簽后重新發(fā)送請求獲取css
解析到 script標(biāo)簽后發(fā)送請求獲取 js,并執(zhí)行代碼
解析到img 標(biāo)簽后發(fā)送請求獲取圖片資源
六,繪制網(wǎng)頁
瀏覽器根據(jù) HTML 和 CSS 計(jì)算得到渲染樹,繪制到屏幕上js 會(huì)被執(zhí)行