黄片视频日逼飞机场|草草视频在线观看|日韩一级无码视频|99页中文字幕|丁香五月天久操视频|亚洲和欧洲SM视频|综合久久资源探花|亚洲天堂牛牛牛牛牛牛|欧洲天堂色色五月|男女高清一区二区三区

英泰移動通信教育

7x24小時咨詢熱線

400-660-3310

當(dāng)前位置 : 好學(xué)校 英泰移動通信教育 學(xué)習(xí)資訊 資訊詳情

移動H5前端優(yōu)化方案

2021-11-10

打開一個頁面的過程有很多優(yōu)化點,包括前端和客戶端,常規(guī)的前端和后端的性能優(yōu)化在桌面時代已經(jīng)有醉佳實踐,主要的是:

降低請求量:合并資源,減少 HTTP 請求數(shù),minify / gzip 壓縮,webP,lazyLoad。

加快請求速度:預(yù)解析DNS,減少域名數(shù),并行加載,CDN 分發(fā)。

緩存:HTTP 協(xié)議緩存請求,離線緩存 manifest,離線數(shù)據(jù)緩存localStorage。

渲染:JS/CSS優(yōu)化,加載順序,服務(wù)端渲染,pipeline。

其中對首屏啟動速度影響醉大的就是網(wǎng)絡(luò)請求,所以優(yōu)化的重點就是緩存,這里著重說一下前端對請求的緩存策略。我們再細(xì)分一下,分成 HTML 的緩存,JS/CSS/image 資源的緩存,以及 json 數(shù)據(jù)的緩存。

HTML 和 JS/CSS/image 資源都屬于靜態(tài)文件,HTTP 本身提供了緩存協(xié)議,瀏覽器實現(xiàn)了這些協(xié)議,可以做到靜態(tài)文件的緩存,具體可以參考這里,總的來說,就是兩種緩存:

詢問是否有更新:根據(jù) If-Modified-Since / ETag 等協(xié)議向后端請求詢問是否有更新,沒有更新返回304,瀏覽器使用本地緩存。

直接使用本地緩存:根據(jù)協(xié)議里的 Cache-Control / Expires 字段去確定多長時間內(nèi)可以不去發(fā)請求詢問更新,直接使用本地緩存。

前端概念網(wǎng)頁

前端能做的醉大限度的緩存策略是:HTML 文件每次都向服務(wù)器詢問是否有更新,JS/CSS/Image資源文件則不請求更新,直接使用本地緩存。那 JS/CSS 資源文件如何更新?常見做法是在在構(gòu)建過程中給每個資源文件一個版本號或hash值,若資源文件有更新,版本號和 hash 值變化,這個資源請求的 URL 就變化了,同時對應(yīng)的 HTML 頁面更新,變成請求新的資源URL,資源也就更新了。

json 數(shù)據(jù)的緩存可以用 localStorage 緩存請求下來的數(shù)據(jù),可以在受次顯示時先用本地數(shù)據(jù),再請求更新,這都由前端 JS 控制。

前端發(fā)展抽象概念矢量圖

這些緩存策略可以實現(xiàn) JS/CSS 等資源文件以及用戶數(shù)據(jù)的緩存的全緩存,可以做到每次都直接使用本地緩存數(shù)據(jù),不用等待網(wǎng)絡(luò)請求。但 HTML 文件的緩存做不到,對于 HTML 文件,如果把 Expires / max-age 時間設(shè)長了,長時間只使用本地緩存,那更新就不及時,如果設(shè)短了,每次打開頁面都要發(fā)網(wǎng)絡(luò)請求詢問是否有更新,再確定是否使用本地資源,一般前端在這里的策略是每次都請求,這在弱網(wǎng)情況下用戶感受到的白屏?xí)r間仍然會很長。所以 HTML 文件的“緩存”和跟“更新”間存在矛盾。

收藏
分享到:

相關(guān)課程

相關(guān)資訊

英泰移動通信教育

英泰移動通信教育

認(rèn)證等級

信譽良好,可安心報讀

英泰移動通信教育

已獲好學(xué)校V2信譽等級認(rèn)證

信譽值

  • (60-80)基礎(chǔ)信譽積累,可放心報讀
  • (81-90)良好信譽積累,可持續(xù)信賴
  • (91-100)充分信譽積累,推薦報讀

與好學(xué)校簽訂讀書保障協(xié)議:

  • 100%
  • 59
  • 3760
在線咨詢
官方授權(quán)聲明

尊敬的平臺會員您好,[英泰移動通信教育]資質(zhì)文件正在審核中。如需了解[英泰移動通信教育]服務(wù)明細(xì)或申請試聽服務(wù),
請點擊:聯(lián)系客服。

;