從瀏覽器輸入URL到頁面渲染的過程


零、背景



一個web安全工程師在學習web安全和web滲透時候,非常有必要了解整個WEB工作過程。

一、輸入URL



這里是最基本的知識:URL是URI的一種實際應用,URI統一資源表示符,URL統一資源定位符。URL舉例: https://www.xxx.com:443/index.php 前面是協議 https 然后是主機www.xxx.com 然后是端口 443,最后是資源在該主機上針對web系統根目錄(通常為www)的相對路徑。所以可以想象,根據WEB訪問就是獲取資源,已經知道端口、路徑、協議,唯獨缺乏對方的IP了,畢竟HTTP下層是TCP/IP嘛,所以這里就用到從域名(或者是主機名)獲取其對應的IP地址。

二、解析IP地址



這里為啥不用DNS呢,是因為在windows里面不一定是用DNS解析的IP地址哦,還可能是netbios哈

DNS 解析順序


在linux中一般先解析/etc/hosts中的靜態配置的解析,如果不行再利用dns遞歸請求解析域名。在windows中一般是先dns cache(dns緩存),然后再hosts文件,最后是dns遞歸解析。

Netbios 解析順序


首先這個只有windows才會有,一般只在局域網或域內生效,其解析順序域操作系統也就是windows的版本有關系。另外和配置的模式有關系。一般的NetBIOS cache (NetBIOS緩存),然后是WINS Server和廣播,最后是LMHOSTS。如果模式不一樣,WINS服務器解析和廣播的順序有調整。

三、發送HTTP請求



其實這里未必是HTTP協議或者HTTPS協議,有可能是其他協議,但是HTTP(HTTPS)協議非常典型,這里就是以此為例進行講解。這里發送HTTP請求,表明請求的資源或者提交的資源,在頭部字段里會帶有相應的身份驗證信息、回話信息、登錄狀態信息和控制信息等。

四、服務器處理並返回響應報文



HTTP請求到大服務器后,服務器會進行處理,然后根據處理結果返回相應的返回包,包括返回狀態、返回內容,頭部字段中的對應的控制信息等。

五、瀏覽器渲染頁面



現代瀏覽器的渲染過程如下:

  • 1.解析HTML構建DOM樹
  • 2.構建渲染樹
  • 3.布局渲染樹
  • 4.繪制渲染樹


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM