# 域名解析過(guò)程(以用戶打開(kāi)baidu.com 為例)
用戶在瀏覽器輸入baidu.com后,會(huì)產(chǎn)生以下的解析過(guò)程:
1. 若用戶之前有使用瀏覽器打開(kāi)百度,則會(huì)在瀏覽器緩存DNS記錄一段時(shí)間
2. 從系統(tǒng)的hosts文件中也可以查找是否有百度對(duì)應(yīng)的IP地址
3. 一般路由器也會(huì)緩存域名信息
4. 可以查找ISP DNS緩存
5. 若以上方法都未查找到百度的對(duì)應(yīng)地址,則會(huì)向根域名服務(wù)器查找對(duì)應(yīng)的IP地址,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一步直到找到IP地址
# 服務(wù)器處理
發(fā)送地址到百度的web server,服務(wù)器根據(jù)請(qǐng)求發(fā)送HTML字符串到用戶瀏覽器
# 瀏覽器的處理
瀏覽器將接受的HTML字符一句句解析,當(dāng)解析到link標(biāo)簽后重興發(fā)送到服務(wù)器請(qǐng)求獲取CSS,解析到script標(biāo)簽后重新發(fā)送請(qǐng)求獲取js,并且執(zhí)行代碼,解析到ing標(biāo)簽后發(fā)送請(qǐng)求并獲取圖片資源。
# 繪制網(wǎng)頁(yè)
瀏覽器根據(jù)HTML和CSS計(jì)算得到渲染樹(shù),繪制到屏幕上且js會(huì)被執(zhí)行。