從 url 輸入到頁(yè)面展現(xiàn)

URL是什么

URL含義:統(tǒng)一資源定位符,用于定位互聯(lián)網(wǎng)上的資源。如同在網(wǎng)絡(luò)上的門牌,是因特網(wǎng)上標(biāo)準(zhǔn)的資源的地址(Address),互聯(lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL,俗稱網(wǎng)頁(yè)地址。

URL組成:URL由協(xié)議,域名,端口,文件路徑組成

例子:http://baidu.com:8080/news/index.asp

  • 協(xié)議:傳輸?shù)膮f(xié)議,比如http、https、ftp、file 協(xié)議
  • 域名:baidu.com即為域名,一個(gè)URL中,也可以使用IP地址作為域名使用
  • 端口:跟在域名后面的是端口,域名和端口之間使用“:”作為分隔符。端口不是一個(gè)URL必須的部分,如果省略端口部分,將采用默認(rèn)端口
  • 路徑:news/index.asp即為url的路徑

輸入U(xiǎn)RL到頁(yè)面展現(xiàn)的過(guò)程

一.輸入U(xiǎn)RL

首先在瀏覽器輸入U(xiǎn)RL,比如http://www.baidu.com

二.域名解析

對(duì)于 http://www.baidu.com的URL, 瀏覽器實(shí)際上不知道 www.baidu.com到底是什么東西,需要查找baidu.com網(wǎng)站所在服務(wù)器的IP地址,才能找到目標(biāo)。

尋找過(guò)程:

  • 瀏覽器緩存,瀏覽器會(huì)緩存DNS記錄一段時(shí)間
  • 系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對(duì)應(yīng) IP
  • 路由器緩存 – 一般路由器也會(huì)緩存域名信息
  • ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存
  • 如果都沒(méi)有找到,則向根域名服務(wù)器查找域名對(duì)應(yīng) IP,根域名服務(wù)器把請(qǐng)求轉(zhuǎn)發(fā)到下一級(jí),直到找到 IP

三.服務(wù)器處理

服務(wù)器是什么?
服務(wù)器是一臺(tái)安裝系統(tǒng)的機(jī)器,常見(jiàn)的系統(tǒng)如Linux、windows server 2012。系統(tǒng)里安裝的處理請(qǐng)求的應(yīng)用叫 Web server。常見(jiàn)的 web服務(wù)器有 Apache、Nginx、IIS、Lighttpd。

web服務(wù)器的作用?
瀏覽器把用戶發(fā)起的HTTP請(qǐng)求發(fā)送給服務(wù)器后,Web server會(huì)進(jìn)而在它做自己的存儲(chǔ)空間中搜索所請(qǐng)求的文件(因?yàn)橥粋€(gè)服務(wù)器地址,有時(shí)候可能同時(shí)綁定了多個(gè)域名,此時(shí)需要配置web服務(wù)器將請(qǐng)求轉(zhuǎn)給相應(yīng)的端口)。當(dāng)找到這文件時(shí),這個(gè)服務(wù)器會(huì)讀取它,按需處理它,并且把它傳送回瀏覽器。Web server就相對(duì)于起到了內(nèi)容分發(fā)的作用,為不同域名的用戶請(qǐng)求展示其相應(yīng)的內(nèi)容,如下圖。

image

四.網(wǎng)站處理

這一步指的是網(wǎng)站后臺(tái)處理數(shù)據(jù)反饋給瀏覽器之前的過(guò)程,常見(jiàn)的處理模型有MVC 模型(model)-視圖(view)-控制器(controller),控制器從數(shù)據(jù)模型中拿到數(shù)據(jù),再?gòu)脑噲D中拿到HTML,經(jīng)過(guò)處理,返回html字符串給瀏覽器。


image

五.瀏覽器處理

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ù),繪制到屏幕上,并且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ù)。

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

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