從 URL 輸入到頁面展現(xiàn)過程

整個過程可分為網(wǎng)絡(luò)通信頁面渲染

一、url是什么

舉個例子

讓我們來解析一下下面這一段:

http://mail.163.com/index.html

1) http://? ? :這個是協(xié)議,也就是HTTP超文本傳輸協(xié)議,也就是網(wǎng)頁在網(wǎng)上傳輸?shù)膮f(xié)議(常見的協(xié)議還有http ftp mailto telnet file等)。

2)mail ?:這個是服務(wù)器名,代表著是一個郵箱服務(wù)器,所以是mail.

3) 163.com ?:這個是域名,是用來定位網(wǎng)站的獨一無二的名字。

4) mail.163.com :這個是網(wǎng)站名,由服務(wù)器名+域名組成。

5)/ ? :這個是根目錄,也就是說,通過網(wǎng)站名找到服務(wù)器,然后在服務(wù)器存放網(wǎng)頁的根目錄

6:)index.html ?:這個是根目錄下的默認(rèn)網(wǎng)頁(當(dāng)然,163的默認(rèn)網(wǎng)頁是不是這個我不知道,只是大部分的默認(rèn)網(wǎng)頁,都是index.html)

7)http://mail.163.com/index.html ?:這個叫做URL,統(tǒng)一資源定位符,全球性地址,用于定位網(wǎng)上的資源。

二、DNS域名解析

從瀏覽器輸入網(wǎng)址后,就會進(jìn)行域名解析,把域名解析為IP地址

解析過程如下



三、應(yīng)用層客戶端發(fā)送HTTP請求

將域名解析獲得IP后,就由TCP/IP協(xié)議分層模型中的應(yīng)用層向服務(wù)器發(fā)送HTTP請求。

HTTP請求包括請求報頭和請求主體兩個部分,其中請求報頭包含了至關(guān)重要的信息,包括請求的方法(GET / POST)、目標(biāo)url、遵循的協(xié)議(http / https / ftp…),返回的信息是否需要緩存,以及客戶端是否發(fā)送cookie等。

四、傳輸層TCP傳輸報文

位于傳輸層的TCP協(xié)議為傳輸報文提供可靠的字節(jié)流服務(wù)。TCP為了方便傳輸,將應(yīng)用層傳來的HTTP請求分割成以報文段為單位的數(shù)據(jù)包進(jìn)行管理,并為它們編號,方便服務(wù)器接收時能準(zhǔn)確地還原報文信息。TCP協(xié)議通過“三次握手”等方法保證傳輸?shù)陌踩煽俊?br>

五、網(wǎng)絡(luò)層IP協(xié)議查詢MAC地址

IP協(xié)議的作用是把TCP分割好的各種數(shù)據(jù)包傳送給接收方。而要保證確實能傳到接收方還需要接收方的MAC地址,也就是物理地址。IP地址和MAC地址是一一對應(yīng)的關(guān)系,一個網(wǎng)絡(luò)設(shè)備的IP地址可以更換,但是MAC地址一般是固定不變的。ARP協(xié)議可以將IP地址解析成對應(yīng)的MAC地址。當(dāng)通信的雙方不在同一個局域網(wǎng)時,需要多次中轉(zhuǎn)才能到達(dá)最終的目標(biāo),在中轉(zhuǎn)的過程中需要通過下一個中轉(zhuǎn)站的MAC地址來搜索下一個中轉(zhuǎn)目標(biāo)。

六、數(shù)據(jù)到達(dá)數(shù)據(jù)鏈路層

在找到對方的MAC地址后,就將傳輸層TCP分割打包好的數(shù)據(jù)發(fā)送到數(shù)據(jù)鏈路層傳輸。這時,客戶端發(fā)送請求的階段結(jié)束

七、服務(wù)器接收數(shù)據(jù)

接收端的服務(wù)器在鏈路層接收到數(shù)據(jù)包,再層層向上直到應(yīng)用層。這過程中包括在運(yùn)輸層通過TCP協(xié)議講分段的數(shù)據(jù)包重新組成原來的HTTP請求報文。

八、服務(wù)器響應(yīng)請求

服務(wù)接收到客戶端發(fā)送的HTTP請求后,查找客戶端請求的資源,并返回響應(yīng)報文,響應(yīng)報文中包括一個重要的信息——狀態(tài)碼。狀態(tài)碼由三位數(shù)字組成,其中比較常見的是200 OK表示請求成功。301表示永久重定向,即請求的資源已經(jīng)永久轉(zhuǎn)移到新的位置。在返回301狀態(tài)碼的同時,響應(yīng)報文也會附帶重定向的url,客戶端接收到后將http請求的url做相應(yīng)的改變再重新發(fā)送。404 not found 表示客戶端請求的資源找不到。

九、 服務(wù)器返回相應(yīng)文件

請求成功后,服務(wù)器會返回相應(yīng)的HTML文件。服務(wù)端網(wǎng)絡(luò)代碼返回頁面的過程如下(

網(wǎng)絡(luò)通信階段結(jié)束,接下來就到了頁面渲染階段了。

十、頁面渲染

瀏覽器渲染頁面,處理返回的代碼過程如下


每一次發(fā)送請求都要建立一次連接。

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

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

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