在瀏覽器輸入url到整個(gè)頁(yè)面展現(xiàn)可以分為以下幾個(gè)過(guò)程:
1.輸入url后通過(guò)域名找到對(duì)應(yīng)的IP地址,并向?qū)?yīng)的網(wǎng)絡(luò)服務(wù)器發(fā)送請(qǐng)求
2.服務(wù)器解析請(qǐng)求,并把請(qǐng)求發(fā)送給數(shù)據(jù)庫(kù)
3.數(shù)據(jù)庫(kù)把請(qǐng)求數(shù)據(jù)發(fā)送給服務(wù)器拙已,服務(wù)器解析請(qǐng)求缎脾,產(chǎn)生html文件返回給瀏覽器
4.瀏覽器處理與繪制
什么是url?
URL(Uniform Resource Locator)撵幽,即統(tǒng)一資源定位符是牢,用于定位互聯(lián)網(wǎng)的資源僵井,包含協(xié)議、IP地址驳棱、路徑批什。
常見(jiàn)協(xié)議有:
- http——用于找到網(wǎng)絡(luò)資源
- https——加密的協(xié)議
- ftp——文件傳輸協(xié)議
- file——用于定位本地資源
域名解析的流程
1.瀏覽器緩存 – 瀏覽器會(huì)緩存DNS記錄一段時(shí)間
2.系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對(duì)應(yīng) IP。
3.路由器緩存 – 一般路由器也會(huì)緩存域名信息蹈胡。
4.ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存渊季。
5.如果都沒(méi)有找到,則向根域名服務(wù)器查找域名對(duì)應(yīng) IP罚渐,根域名服務(wù)器把 請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí)却汉,知道找到 IP
服務(wù)器處理
服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器,常見(jiàn)的系統(tǒng)如Linux荷并、windows server 2012等系統(tǒng)里安裝的處理請(qǐng)求的應(yīng)用叫 Web server(web服務(wù)器)
常見(jiàn)的 web服務(wù)器有 Apache合砂、Nginx、IIS源织、Lighttpd
web服務(wù)器接收用戶的Request 交給網(wǎng)站代碼翩伪,或者接受請(qǐng)求反向代理到其他 web服務(wù)器
網(wǎng)站處理流程
瀏覽器處理與繪制
HTML字符串被瀏覽器接受后被一句句讀取解析
解析到link 標(biāo)簽后重新發(fā)送請(qǐng)求獲取css
解析到 script標(biāo)簽后發(fā)送請(qǐng)求獲取 js微猖,并執(zhí)行代碼
解析到img 標(biāo)簽后發(fā)送請(qǐng)求獲取圖片資源
瀏覽器根據(jù) HTML 和 CSS 計(jì)算得到渲染樹(shù),繪制到屏幕上缘屹,js 會(huì)被執(zhí)行