從URL輸入到頁面展現(xiàn)發(fā)生了什么

大家好,我是前端小白,剛剛學習到從URL輸入到頁面展現(xiàn)發(fā)生了什么這個問題,以我現(xiàn)在的能力對這個問題理解的還不是特別的深入,但是還想總結一下自己目前理解的程度,以后有了更深層次的理解體會,在繼續(xù)更新。哈哈~~~

我們經常在瀏覽器地址欄輸入一些網址,然后瀏覽器會反饋給我們相應的頁面,但是有沒有想過,在我們輸入網址到呈現(xiàn)頁面的過程中,到底發(fā)什么了什么?

大概這樣的一個流程:

1、在地址欄里面輸入URL
2、域名解析
3、服務器處理
4、網站處理流程
5、瀏覽器處理
6、頁面繪制

一、什么是URL?

URL是統(tǒng)一資源定位符,用于定位互聯(lián)網上的資源。說白了就是網址,URL的格式如下:

協(xié)議類型://<主機名>:<端口>/<路徑>/文件名

URL有4種傳輸協(xié)議:http、https、ftp、file

那這個URL為例:http://www.itdecent.cn/u/7cb163d9f
http 超文本傳輸協(xié)議
www.itdecent.cn 主機名
/u/7cb163d9f 文件路徑

二、域名解析

當用戶在瀏覽器中輸入url后,你使用的電腦會發(fā)出一個DNS請求到本地DNS服務器。本地DNS服務器一般都是你的網絡接入服務器商提供,比如中國電信,中國移動,DNS請求到達本地DNS服務器之后會有以下幾個步驟:

1、瀏覽器緩存 – 瀏覽器會緩存DNS記錄一段時間
2、系統(tǒng)緩存 - 從 Hosts 文件查找是否有該域名和對應 IP。
3、路由器緩存 – 一般路由器也會緩存域名信息。
4、ISP DNS 緩存 – 比如到電信的 DNS 上查找緩存。
5、如果都沒有找到,則向根域名服務器查找域名對應 IP,根域名服務器把請求轉發(fā)到下一級,知道找到 IP


1618288278-57f00bf9444dd.png

三、服務器處理

服務器是一臺安裝系統(tǒng)的機器,常見的系統(tǒng)如Linux、windows server 2012
系統(tǒng)里安裝的處理請求的應用叫 Web server

四、網站處理流程

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

26373b7e-83c5-41f3-bb33-c614fb8a37fd.png

五、瀏覽器處理

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

六、頁面繪制

瀏覽器根據(jù) HTML 和 CSS 計算得到渲染樹,繪制到屏幕上,js 會被執(zhí)行

參考:
http://book.jirengu.com/jrg-team/frontend-knowledge-ppt/www/%E5%89%8D%E7%AB%AF%E5%85%A5%E9%97%A8-%E4%BB%8E%20URL%E8%BE%93%E5%85%A5%E5%88%B0%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%8E%B0.html#/
http://www.itdecent.cn/p/fc957e25102e
https://segmentfault.com/a/1190000006879700

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容