從URL輸入到頁(yè)面展現(xiàn)經(jīng)過(guò)了什么

寫(xiě)在開(kāi)頭

? ? ? ? 如今互聯(lián)網(wǎng)時(shí)代發(fā)展這么迅速,我們幾乎每個(gè)人都離不開(kāi)互聯(lián)網(wǎng),每天或多或少都要查詢(xún)細(xì)一些東西,登錄一些網(wǎng)址,當(dāng)我們?cè)诘刂窓谳斎刖W(wǎng)址的時(shí)候,只需要再按一下回車(chē),想找的地址就呈現(xiàn)在我們面前,這個(gè)過(guò)程看似很簡(jiǎn)單,其中可充滿(mǎn)了許多步驟,接下來(lái)和我一塊看看吧。

第一步:在瀏覽器中輸入U(xiǎn)RL

首先我們需要明白URL是什么?URL(Uniform Resource Location),譯為統(tǒng)一資源定位符,用于定位互聯(lián)網(wǎng)上的資源。對(duì)應(yīng)了一些協(xié)議,端口號(hào),域名等相關(guān)信息,而協(xié)議又有http,https,ftp,file等,http協(xié)議主要用于定位互聯(lián)網(wǎng)上的資源,file協(xié)議主要定位本機(jī)上的資源,而https則是加密了的http協(xié)議,防止被盜取。知道了這些定義,接下來(lái)就是在瀏覽器中輸入U(xiǎn)RL,進(jìn)行下一步。

常見(jiàn)的協(xié)議

第二步:域名解析

在瀏覽器中輸入http:jirengu.com的URL,瀏覽器并不知道jirengu.com是什么,只能識(shí)別jirengu.com的IP地址,通俗來(lái)說(shuō)就是瀏覽器只認(rèn)識(shí)IP。所以我們必須先要知道jirengu.com對(duì)應(yīng)的IP是什么。每種域名都會(huì)對(duì)應(yīng)一個(gè)IP,這時(shí)候可能大家就會(huì)問(wèn)為啥不直接使用IP呢,這是由于IP是有一串串?dāng)?shù)字組成的,而域名的話(huà),通??梢哉Z(yǔ)義化,比如:baidu.com,就好記憶的多。IP是互聯(lián)網(wǎng)協(xié)議,IP協(xié)議提供了一種統(tǒng)一的地址格式,它為互聯(lián)網(wǎng)上的每一個(gè)網(wǎng)絡(luò)和每一臺(tái)主機(jī)分配一個(gè)邏輯地址,以此來(lái)屏蔽物理地址的差異。接下來(lái)呢,就到了域名解析階段,就是瀏覽器查找URL對(duì)應(yīng)的IP地址,通常有以下幾個(gè)步驟:

1.瀏覽器緩存:之前訪(fǎng)問(wèn)過(guò)的地址,瀏覽器都會(huì)有記錄,所以下一次訪(fǎng)問(wèn)的時(shí)候就可以直接查找到對(duì)應(yīng)的IP。

2.系統(tǒng)緩存:如果瀏覽器緩存找不到的話(huà),則從電腦的host文件查找是否有對(duì)應(yīng)的IP。

3.路由器緩存:會(huì)在查找路由器緩存中是否有對(duì)應(yīng)的IP。

4.ISP DNS緩存:ISP是服務(wù)商如電信的緩存,從這里查找對(duì)應(yīng)的IP。

5.如果都找不到的話(huà),則向根域名服務(wù)器查找對(duì)應(yīng)的IP,直到找到為止。

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

當(dāng)找到對(duì)應(yīng)的IP后,瀏覽器就可以向IP發(fā)請(qǐng)求,發(fā)送給服務(wù)器(服務(wù)器就是一臺(tái)裝了安裝系統(tǒng)如linux,windows server 2012的機(jī)器),服務(wù)器系統(tǒng)中安裝了一個(gè)處理請(qǐng)求的應(yīng)用Web server,這個(gè)應(yīng)用就可以處理來(lái)自瀏覽器的請(qǐng)求交給網(wǎng)站代碼,或者接受請(qǐng)求反向代理到其他Web服務(wù)器。常見(jiàn)的Web服務(wù)器 Apache、Nginx、IIS、Lighttpd。

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

主要經(jīng)過(guò)下圖這幾個(gè)步驟:這包括了前后端,其中視圖到控制器則是前端主要負(fù)責(zé)的。

MVC 模型(model)-視圖(view)-控制器(controller)


第五步:瀏覽器處理

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

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

瀏覽器根據(jù) HTML 和 CSS 計(jì)算得到渲染樹(shù),繪制到屏幕上。

謝謝觀(guān)看。

最后編輯于
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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