從輸入url到獲得html的詳細過程html
TCP是運輸層的面向鏈接的可靠的運輸協議,HTTP 是純粹的文本協議,它是規定了使用 TCP 協議來傳輸文本格式的一個應用層協議。TCP 協議是一條雙向的通信通道,HTTP 在 TCP 的基礎上,規定了 Request-Response 的模式。而HTTPS 是使用加密通道來傳輸 HTTP 的內容。可是 HTTPS 首先與服務端創建一條 TLS 加密通道。TLS 構建於 TCP 協議之上,它其實是對傳輸的內容作一次加密,因此從傳輸內容上看,HTTPS 跟 HTTP 沒有任何區別。json
HTTP格式:瀏覽器
request:緩存
request line服務器
headcookie
accept: text/html,application/xhtml+xml,application/xml;...(接收格式) accept-encoding: gzip, deflate, br (編碼方式) accept-language: zh-CN,zh;q=0.9(語言類型) cache-control: max-age=0 (控制緩存時效性) cookie: 客戶端存儲的cookie字符串 upgrade-insecure-requests: 1 user-agent: (瀏覽器標識)
response:app
response line編碼
head加密
connection: (鏈接類型,keep-alive表示複用鏈接) cache-control: public, max-age=86400 (緩存控制) content-length: 334 (內容長度) content-encoding: gzip(內容編碼方式) content-type: text/html; charset=utf-8(內容類型) date: Wed, 11 Sep 2019 10:17:59 GMT (日期) server: Tengine (服務端軟件類型) keep-alive:(保持鏈接不斷時須要的信息) status: 200 vary: Accept-Encoding date: Tue, 10 Sep 2019 17:15:33 GMT(服務器日期) etag: 16151473764464638424 expires: Wed, 11 Sep 2019 17:15:33 GMT 過時時間,)
/* 1.獲得服務器的響應內容,解析代碼和構建 DOM 樹,此時只有節點和屬性,不包含任何的 樣式信息。 2.接下來是 CSS 計算,把 CSS 規則應用到 DOM 樹上,爲 DOM 結構添加顯示相關屬性的 過程。 3.而後是排版。最基本的排版方案是正常流排版,它包含了順次排布和折行等規則,這是一 個跟印刷排版相似的排版方案,也跟咱們平時書寫文字的方式一致,因此咱們把它叫作正常流。 同時瀏覽器又能夠支持元素和文字的混排,元素被定義爲佔據長方形的區域,還容許邊框、邊 距和留白,這個就是所謂的盒模型。 4.最後就是根據這些樣式信息和大小信息,爲每一個元素在內存中渲染它的圖形,而且把它繪 制到對應的位置。位圖操做部分,這包括了渲染、合成和繪製三個部分。渲染過程把元素變成 位圖,合成把一部分位圖變成合成層,最終的繪製過程把合成層顯示到屏幕上。 */