寄快遞的角度看看從URL到頁面展現發生了什么

日常生活中我們用瀏覽器輸入簡書的網址www.lxweimin.com就能進入簡書的首頁,那么這個過程究竟是怎么實現的,今天就簡單談談。

輸入URL.png

簡書頁面.png

開始之前的思路整理

URL是什么?

統一資源定位符,也就是我們俗稱的網址,例如www.lxweimin.com

頁面展現是什么?

直觀上來看就是網頁在電腦上顯示出來

我們都知道,展現出來的頁面是由數據加載出來的,這個數據是存在于某一個服務器上面的,然后這個數據通過某些方式傳輸到我們的電腦上面,電腦通過一些方式展現出來。

那么我們按照事情的發展順序來了解整個過程。

發生的步驟

1.找誰要數據(域名解析)?

要什么數據是我們通過URL告訴了瀏覽器,可是瀏覽器要找哪臺服務器要數據才能找到呢?這就是我們說的域名解析,也就是DNS解析。每臺電腦都有一個IP地址,所以假如你知道你需要的資源在哪個ip上,你直接輸入IP地址就可以了,相當于我們每個人都有一個身份證號。但是在日常生活中你能每次都記得某個ip嗎?顯然是不可能的。

好了,瀏覽器接收到用戶的網址之后,首先干嘛呢?
首先看看以前的記事本——瀏覽器緩存的DNS里面有沒有
看看系統老大哥知道不——系統緩存,Hosts文件里面有沒有
問問經常傻缺的路由器知道不——路由器緩存
問問地主家的IPS知道不——電信等網絡運營商的緩存

假如都不知道,
去當地戶口查詢地看看——本地域名服務器向根域名服務器提交請求查找
去國家戶口查詢地看看——向com頂級域名服務器提交申請查找
。。。
以此類推,假如始終找不到——404,估計就是不在地球上,或者這個是個牛逼的ip,你逼格還不到家——無權訪問

好,假設已經找到ip了,那么你就要打電話過去過去bb一下,讓他把數據給你。這就是

2.數據怎么傳(TCP連接)

打這個電話你就要溝通好,到底要什么數據,具體這個數據是順豐快遞,還是韻達快遞,你的收貨地址和電話是多少等等——HTTP請求
如果這個文件很重要,要暗號才能破解就得用加密協議——HTTPS

對方知道你要求之後就會按照你的要求把數據按照一定長度打包好,給你寄過來——服務器處理請求并返回HTTP報文

3.收到之後怎么用(網站處理流程)

這里有幾種方式,我們就說下MVC模型方式的處理

M是模型,V代表視圖,C代表控制器
數據由瀏覽器通過Rails這種編程語言傳輸給控制器,控制器給到模型,模型匹配數據庫,然后反饋給控制器,接著視圖就能把數據轉換為html,再通過控制器給到瀏覽器處理成網頁。

瀏覽器收到html字符串,就開始解析,這個過程是邊解析邊渲染的。比如當解析到Link標簽時,就發送請求獲取css
當解析到script標簽時,請求js
當解析到img標簽時,就請求獲取圖片資源

4.完成頁面展示

這個文章沒有深究其中各種操作的原理和具體步驟,就以非常容易理解的方式簡單看看到底有哪些過程。如有問題,歡迎指正。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容