《響應(yīng)式Web設(shè)計(jì)性能優(yōu)化》筆記

Web性能定義:一個(gè)終端用戶從請(qǐng)求一段內(nèi)容開始到這段內(nèi)容顯示在用戶設(shè)備上這段時(shí)間的度量值。

運(yùn)行時(shí)性能:應(yīng)用在運(yùn)行時(shí)對(duì)用戶輸入響應(yīng)式能力的一個(gè)表示。

瀏覽器請(qǐng)求一個(gè)頁面的過程:

  1. 通過瀏覽器請(qǐng)求一個(gè)web頁面,瀏覽器創(chuàng)建一個(gè)線程去執(zhí)行該請(qǐng)求
  2. 發(fā)送請(qǐng)求,開始遠(yuǎn)程DNS查找,遠(yuǎn)程DNS將輸入的URL對(duì)應(yīng)的IP地址返回給瀏覽器
  3. 瀏覽器與遠(yuǎn)程web服務(wù)器通過三次握手建立一個(gè)tcp/ip連接
  4. tcp/ip連接建立后,瀏覽器通過連接發(fā)送一個(gè)HTTP Get請(qǐng)求到Web服務(wù)端。
  5. web服務(wù)器找到請(qǐng)求的資源,在HTTP響應(yīng)中將其返回并返回相對(duì)應(yīng)的狀態(tài)碼。(加載一個(gè)HTML不只需要一次這個(gè)過程,瀏覽器還要為頁面鏈接的資源發(fā)起一個(gè)HTTP請(qǐng)求,包括圖片、鏈接的css和js,但只要HTTP請(qǐng)求的源是形同的,瀏覽器可以重用響相應(yīng)的tcp連接)

常用狀態(tài)碼:200表示服務(wù)端成功響應(yīng)、301表示永久重定向、302表示臨時(shí)重定向、403表示請(qǐng)求被拒絕、404表示請(qǐng)求資源不存在、500表示服務(wù)端處理請(qǐng)求出錯(cuò)、503表示服務(wù)不可用、504表示網(wǎng)關(guān)超時(shí)

6.瀏覽器接收HTML頁面后開始渲染頁面。

現(xiàn)代瀏覽器的架構(gòu):

  1. UI層:為瀏覽器繪制界面
  2. 網(wǎng)絡(luò)層:處理網(wǎng)絡(luò)連接,建立TCP/IP連接及HTTP請(qǐng)求,處理下載內(nèi)容并將內(nèi)容傳遞給渲染引擎。
  3. 渲染引擎:負(fù)責(zé)將內(nèi)容繪制到瀏覽器上,如WebKit
  4. JavaScript引擎:負(fù)責(zé)解析并執(zhí)行JavaScript,如V8

瀏覽器內(nèi)部模型執(zhí)行過程:

  • 用戶在瀏覽器地址欄輸入U(xiǎn)RL,UI層將URL請(qǐng)求傳遞給網(wǎng)絡(luò)層
  • 網(wǎng)絡(luò)層建立連接下載頁面
  • 含有HTML塊的數(shù)據(jù)包到達(dá),傳送給渲染引擎,渲染引擎對(duì)HTML字符進(jìn)行解析轉(zhuǎn)換成DOM,然后和CSSOM成渲染樹,構(gòu)建DOM節(jié)點(diǎn),布局DOM元素的位置,描述DOM元素
  • 渲染引擎在遇到<script>標(biāo)簽先會(huì)暫停下來,其一,<script>指向外部JS文件,解析過程暫停,網(wǎng)絡(luò)層介入,下載JS文件,然后初始化JS引擎解析,執(zhí)行該JS 文件;其二,<script>包含的內(nèi)嵌的JS,渲染引擎暫停,JS引擎被初始化,解析和執(zhí)行該JS文件。JS文件執(zhí)行完畢后,之前暫停的渲染引擎恢復(fù)運(yùn)行。所以,JS 會(huì)阻塞瀏覽器渲染。

HTTP響應(yīng)的五個(gè)層次類別:

  1. 1XX:信息;請(qǐng)求已收到,正在處理
  2. 2XX:成功;請(qǐng)求已經(jīng)成功接收、解析并執(zhí)行了
  3. 3XX:重定向;需要進(jìn)一步的跳轉(zhuǎn)和更多的操作來完成當(dāng)前的請(qǐng)求
  4. 4XX:客戶端錯(cuò)誤;請(qǐng)求包含了語法錯(cuò)誤,不能執(zhí)行
  5. 5XX:服務(wù)端錯(cuò)誤;服務(wù)端正在處理一個(gè)有效地請(qǐng)求時(shí)失敗

picture元素是HTML5的新元素,它是一個(gè)容器元素,包含多種不同的源標(biāo)簽,基于不同的視口寬度像素密度指定不同的照片,也可以容納img標(biāo)簽進(jìn)行降級(jí)。<source>元素支持media屬性,可以指明關(guān)注的媒體類型和目標(biāo)CSS屬性;src屬性指明對(duì)目標(biāo)的媒體類型和CSS屬性對(duì)應(yīng)下載的圖片。

<picture>
<source media=“(min-width:640px,min-device-pixel-ratio:2)” src=“XXX.jpg”>
<source media=“(min-width:1024px,min-device-pixel-ratio:2)” src=“XXX.jpg”>

</picture>

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

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評(píng)論 25 709
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,814評(píng)論 1 19
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評(píng)論 19 139
  • 當(dāng)我們把酒杯端起節(jié)日就在酒里當(dāng)我們將祝福送去溫暖就在心里 陪伴是一場(chǎng)生命中最暖的記憶也是現(xiàn)世最大的福氣風(fēng)雨兼程中有...
    二馬行空閱讀 391評(píng)論 2 3
  • 對(duì)于大多數(shù)的書而言,當(dāng)你完成這樣的步驟之后,多重復(fù)幾遍,會(huì)讓你理解的更深入一些。 如果說閱讀一二遍之后,只能吸收書...
    鄭宇辰閱讀 220評(píng)論 1 2

友情鏈接更多精彩內(nèi)容