1.資源壓縮合並,減少http請求
2.非核心代碼異步加載-異步加載的方式-異步加載的區別
- 異步加載的方式
(1)動態腳本加載 (2) defer (3) async
- 異步加載的區別
(1) defer是在html解析完之後纔會執行,如果是多個,按照加載的順序依次執行
(2)async是在加載完之後立即執行,如果是多個,執行順序和加載順序無關
3.利用瀏覽器緩存-緩存的分類-緩存的原理
緩存的分類 :
(1)強緩存
http請求頭中 會有緩存信息 Expires是服務器下發時間(絕對時間) Cache-Control是相對時間(相對於客戶端),緩存距離上次中間間隔時間。在此時間之前不會發請求。如果兩個都有 以相對時間爲準。
Expires Expires:Thu,21 May 2020 23.20 **
Cache-Control Cache-Control:max-age=3600
(2)協商緩存
當強緩存失效之後,發請求 會讓 if-Modified-Since攜帶Last-Modified(服務器下發的時間)發請求,服務器需要對比。如果時間變了但是內容沒變,就看Etag
Last-Modified(上次修改的時間) if-Modified-Since Last-modified:Thu,21 May 2020 23.20 **
Etag if-None-Match 相當於hash
4.使用cdn
5.預解析DNS
高級瀏覽器默認 a標籤 開啓了dns預解析的功能,但是 https請求時沒有開啓,下邊這一行強制開啓 dns預解析,放在head裏面
<meta http-equiv="x-dns-prefetch-control" content="on">
dns預解析:<link rel="dns-prefetch" href="//***.com">