用戶輸入一個網址到頁面展現內容的這段時間內,瀏覽器和服務器都發生了生麼事情?

1 在接收到用戶輸入的網址後,瀏覽器會開啓一個縣城來處理這個請求,對用戶輸入的URL地址進行分析判斷,若是是HTTP協議就按照 HTTP方式來處理。 數據庫

2 調用瀏覽器引擎中的對應方法,好比WebView中的loadUrl方法,分析並加載這個URL地址。後端

3 經過DNS解析獲取該網站對應的IP地址,查詢完成後聯同瀏覽器的COOKIEuserAgent等信息向網站目的IP發出GET請求。瀏覽器

4 進行HTTP協議會話,瀏覽器客戶端向Web服務器發送報文。緩存

5 進入網站後臺的Web服務器處理請求,如ApacheTomcatNode.js等服務器。服務器

6 進入部署好的後端應用,如PHPJavaJavascriptPython等後端程序,找到對應的請求處理邏輯,這期間可能會讀取服務器緩存或查詢數據庫。佈局

7 服務器處理請求並返回響應報文,此時若是瀏覽器訪問過該頁面,緩存上有對應的資源,會與服務器最後修改記錄對比,一致則返回304,不然返回200和對應的內容。網站

7 瀏覽器開始下載HTML文檔(響應報頭狀態碼爲200時)或者從本地緩存讀取文件內容(瀏覽器緩存有效或響應報頭狀態碼爲304時)。code

8 瀏覽器根據下載接收到的HTML文件解析結構創建DOMDocument Object Model,文檔對象模型)文檔樹,並根據HTML中的標記請求下載指定的MIME類型文件(如CSSJavascript腳本等),同時設置緩存等內容。對象

9 頁面開始解析渲染DOMCSS根據規則解析並結合DOM文檔樹進行網頁內容佈局和繪製渲染,Javascript提供DOM API操做 DOM,並讀取瀏覽器緩存、執行事件綁定等,頁面整個展現過程完成。事件

相關文章
相關標籤/搜索