從輸入baidu.com到展示百度首頁瀏覽器經(jīng)歷了哪些個(gè)過程呢?
第一步: 輸入U(xiǎn)RL
在瀏覽器中輸入U(xiǎn)RL,如baidu.com,是百度服務(wù)器的一個(gè)域名。
第二步:域名解析
瀏覽器通過訪問的域名查找域名的IP地址,DNS查找路徑有以下幾種:
- 瀏覽器緩存 ——瀏覽器會緩存DNS記錄一段時(shí)間。
- 系統(tǒng)緩存——如果在瀏覽器緩存里沒有找到需要的記錄,瀏覽器會從hosts文件里查找。
- 路由器緩存——前面的查詢請求發(fā)向路由器,它一般會有自己的DNS緩存。
第三步:服務(wù)器處理
瀏覽器給Web服務(wù)器發(fā)送一個(gè)HTTP請求,獲得百度服務(wù)器的IP地址。
第四步:網(wǎng)站處理流程
瀏覽器通過輸入U(xiǎn)RL,獲得百度網(wǎng)站的IP地址,向百度網(wǎng)站的路由發(fā)送一個(gè)請求,路由將請求發(fā)送給控制器??刂破骱湍P腿ソ换ィㄟ^模型從數(shù)據(jù)庫中調(diào)取數(shù)據(jù),同時(shí)控制器也和視圖交互,視圖就是html的模板,控制器將數(shù)據(jù)放入html中獲得一個(gè)帶有數(shù)據(jù)的新的html。然后將新的html發(fā)給瀏覽器,瀏覽器會處理html文件,一句句讀取解析。瀏覽器根據(jù)html和CSS計(jì)算得到渲染樹,繪制到屏幕上,js會被執(zhí)行。