用戶打開瀏覽器,輸入 baidu.com,頁(yè)面展示百度首頁(yè)。整個(gè)過程發(fā)生了什么?

第一步:用戶輸入baidu.com

URL是什么?

URL(統(tǒng)一資源定位符),用于定位互聯(lián)網(wǎng)上的資源,它包括http,https,ftp,file協(xié)議。

第二步:域名解析

域名解析的流程:

1.查找瀏覽器緩存 —— 瀏覽器會(huì)緩存DNS記錄一段時(shí)間。

瀏覽器會(huì)檢查緩存中有沒有這個(gè)域名對(duì)應(yīng)的解析過的IP地址,如果緩存中有,這個(gè)解析過程就將結(jié)束。

2.查找系統(tǒng)緩存 —— 從Hosts文件查找是否有該域名和對(duì)應(yīng)IP。

如果用戶的瀏覽器緩存中沒有,瀏覽器會(huì)從hosts文件查找是否有存儲(chǔ)DNS信息,查找是否有目標(biāo)域名和對(duì)應(yīng)的IP地址

3.查找路由器緩存 —— 一般路由器也會(huì)緩存域名信息。

如果系統(tǒng)緩存中也找不到,那么查詢請(qǐng)求就會(huì)發(fā)向路由器,路由器一般會(huì)有自己的DNS緩存。

4.ISP DNS緩存 —— 比如到電信的DNS上查找緩存。

如果路由器緩存中也找不到,那么就查詢ISP DNS 緩存服務(wù)器了。

5.如果都沒有找到,則向根域名服務(wù)器查找域名對(duì)應(yīng)IP,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),直到找到IP。

第三步:服務(wù)器處理

服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器,常見的系統(tǒng)如Linux,Windows server 2012.

系統(tǒng)里安裝的處理請(qǐng)求的應(yīng)用叫Web server。

當(dāng)web server接收到一個(gè)HTTP請(qǐng)求(request),會(huì)返回一個(gè)HTTP響應(yīng)(response),例如送回一個(gè)HTML頁(yè)面。對(duì)于不同用戶發(fā)送的請(qǐng)求,會(huì)結(jié)合配置文件,把不同請(qǐng)求委托給服務(wù)器上處理對(duì)應(yīng)請(qǐng)求的程序進(jìn)行處理(例如CGI腳本,JSP腳本,servlets,ASP腳本,服務(wù)器端JavaScript,或者一些其它的服務(wù)器端技術(shù)等)。

無論它們(腳本)的目的如何,這些服務(wù)器端(server-side)的程序通常產(chǎn)生一個(gè)HTML的響應(yīng)(response)來讓瀏覽器可以瀏覽。

第四步:網(wǎng)站處理流程

那么如何處理請(qǐng)求?實(shí)際上就是后臺(tái)處理的工作。后臺(tái)開發(fā)現(xiàn)在有很多框架,但大部分都還是按照MVC設(shè)計(jì)模式進(jìn)行搭建的。

image

image

MVC的處理過程是這樣的:對(duì)于每一個(gè)用戶輸入的請(qǐng)求,首先被控制器接收,控制器決定用哪個(gè)模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器確定用哪個(gè)視圖模型,用相應(yīng)的視圖格式化模型返回html字符串給瀏覽器,并通過顯示頁(yè)面呈現(xiàn)給用戶。

第五步:瀏覽器處理:

1.HTML字符串被瀏覽器接手后被一句句讀取解析
2.解析到link標(biāo)簽后重新發(fā)送請(qǐng)求獲取CSS
3.解析到script標(biāo)簽后發(fā)送請(qǐng)求獲取js,并執(zhí)行代碼。
4.解析到img標(biāo)簽后發(fā)送請(qǐng)求獲取圖片資源。

第六步:繪制網(wǎng)頁(yè)

瀏覽器根據(jù)HTML和CCS計(jì)算的得到渲染書,繪制到屏幕上,js會(huì)被執(zhí)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容