2019-7-24 seo達人
如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里
減少頁面加載時間的方法:
1.壓縮html css js等文件
2.減少DNS解析
3.減少DOM元素,對于相關操作可以緩存節點
4.改變頁面元素樣式時盡量操作className,而不是頻繁使用xxx.style.(其實還有很多這種DOM修改操作的細節比如opacity替代visibility ,多個DOM統一操作(雖然V8會有緩存優化) ,先將DOM離線,即display:none;修改后顯示 ,不要把DOM放在已給循環中作為循環變量 ,不要使用table )
5.避免不必要的重定向
6.合并js css及圖片,減少請求數量
7.使用CDN
8.合理利用緩存
9…
關于CDN?
https://zhuanlan.zhihu.com/p/39028766
CDN中文名“內容分發網路”,作用是減少傳播時延,找最近的節點。CDN本質就一個是緩存,只是這個緩存離你特別近,不管是作為用戶還是開發人員都能從中享受一點福利。
CDN的優點
1.訪問加速
2.減輕服務器負載
3.抗住攻擊
CDN的缺點
1.只能對靜態資源加速
2.內容更新時需要分發到其他節點
3.代價高昂
與傳統網站訪問方式的不同
傳統的網站會直接解析域名獲得IP地址然后發送請求
使用了CDN的網站則增加了緩存層,解析域名→獲取對應CNAME域名→對獲取的域名進行解析得到緩存服務器的IP地址,將用戶的訪問請求引導到最優的緩存節點而不是源站。
總結:通過權威DNS服務器來實現最優節點的選擇,通過緩存來減少源站的壓力。主要應用于靜態網頁、大文件的下載等等。
應用與踩坑
緩存設置
max-age在Cache-Control中經常用于緩存的控制,可是max-age設置的緩存會應用于一個請求經過的每一級,如果我們希望CDN不緩存那么久,要怎么辦呢?那就是s-maxage,它用于設置代理服務器的緩存時間,會覆蓋max-age的設置,這樣我們可以把max-age用于本地緩存,把s-maxage用于CDN緩存時間,避免臟數據的產生。
緩存命中率
對于一個緩存而言,還有一點非常重要,就是你的緩存到底有沒有用,衡量這個東西的就是緩存命中率。如果只是靜態資源,在刷新緩存之后,可能導致命中率下降,因此CDN的資源不適合經常刷新,換句話說,如果一個請求結果會經常進行變更,那么CDN基本就沒有什么存在的意義了。
判斷是否命中緩存
還要考慮的一件事是:這個資源是否命中了CDN,是否是因為CDN導致的問題。
在各大廠商的CDN返回的數據中都會有一個X-Cache,上面內容是Hit或者Miss,還會加上諸如Memory或者Disk的縮寫表示內存還是磁盤,如果出現Upstream或者Miss則表示沒有命中。
資源預熱
緩存設計中,預熱是很重要的環節,在最初剛開始啟動CDN的時候,CDN上并沒有緩存數據,此刻大量的請求全部打向源站,肯定會把源站打掛,預熱就是實現緩存熱門數據,這樣在業務上線時,CDN上已經有所需的數據了
藍藍設計( m.paul-jarrel.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、網站建設 、平面設計服務。