零、背景
一個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.繪制渲染樹