優化網頁速度的7種方法 優化網頁速度的方法有哪些

周末在家宅著 , 刷了不少的網頁 , 發現很多網站都沒有優化它的加載速度 , 有時打開一個網頁要等待10來秒才能加載完成 , 雖然網頁內容很不錯 , 但是給我的第一印象就是慢 , 不能忍??!
【優化網頁速度的7種方法 優化網頁速度的方法有哪些】其實有很多簡單粗暴 , 又很有療效的優化方法 , 我覺得有必要給各位產品經理分享一下 , 好讓你們去督催開發哥哥優化 , 改善一下網頁的加載體驗~
首先 , 我們來看下網頁的加載流程 。 打開一個網頁 , 會先拉取一個html頁面 , 然后瀏覽器解析了這個html頁面后 , 會根據頁面的內容 , 去拉取javascript、css和圖片文件 , 最終根據這些文件 , 將頁面渲染出來 。
我們可以看到 , 影響一個網頁展示速度的主要因素不是網頁本身 , 而是它依賴的一些其它文件 。 如果優化了這些資源的加載速度 , 那么網頁展示的速度也就上去了 。
有哪些簡單粗暴的方法呢?讓我來一一列舉:
1.優化圖片資源的格式和大小一個網頁中 , 圖片資源的大小占比是最多的 , 而且單個的文件的大小也很可觀 。 因此 , 在保證圖片質量不變的情況下 , 盡可能的使用高壓縮率的圖片格式 , 圖片格式可以按照這個優先級選擇webp > jpeg > png > bmp 。 同時也要根據圖片展示尺寸來拉取大小最為匹配的圖片資源 , 不要沒事就把原圖拉下來使用 。 以前我就遇到過這種情況 , 一個196*196大小區域展示的圖片 , 它的文件竟然達到了幾兆 , 最后才發現把1960*1960分辨率的原圖拉下來了 。
2.開啟網絡壓縮大部分瀏覽器在發出請求時 , 會帶上這個標記「Accept-Encoding: gzip, deflate」 , 表示這個瀏覽器可以接受以gzip壓縮方式傳輸數據 , 如果你的網頁服務器也支持gzip壓縮數據 , 那么數據以gzip方式傳輸時 , 會減少70~80%的流量 。
3.使用瀏覽器緩存同一個站點下面的不同頁面 , 往往都會復用一部分資源文件 , 如果把這些資源文件設置為可緩存的 , 那么在刷新或者跳轉到另一個頁面時 , 都無須再從網絡拉取相關資源 , 這樣就大大加快了網頁的加載速度 。
4.減少重定向請求有的網站對于不同的終端制作了不同的頁面 , 比如說在手機上訪問微博 , 會從weibo.com重定向至weibo.cn , 每一次重定向都會導致瀏覽器重新發起請求 , 延長加載時間 。 對于這種情況 , 應該盡可能使用響應式設計 , 一個weibo.com站點覆蓋至所有終端 。
5.使用CDN存儲靜態資源CDN是一種靜態內容分發網絡 , 它在每個省 , 甚至每個城市都部署有自己的服務器 , 用于分發這些靜態內容 , 那么當某個城市的用戶要拉取某個資源時 , 他會首選從本地的CDN服務器上拉取 , 這樣可以保證他最快速的獲得該資源 。 據磚家統計 , 網絡資源中有70%的是靜態資源 。 這就意味著 , 有70%的內容產生后是不會變化 , 那么將它們全部放在CDN上面 , 可以提升這70%的資源的下載速度 。
6.減少DNS查詢次數很多人喜歡把不同的圖片掛在不同當域名下 , 比如說圖片A掛在a.pm-teacher.com , 圖片B掛在b.pm-teacher.com 。 當一個網頁同時使用圖片A和圖片B時 , 瀏覽器需要查詢兩個域名 , 要知道 , 每次解析域名都是會浪費時間的 , 所以盡可能的將全部圖片放在一個域名下 。
7.壓縮css和js內容這里說的壓縮和第2點并不重復 , 上面提到的壓縮是不改變文件內容的壓縮 。 而css和js中有大量的空格和變量命名(如hello="hello word";) , 如果將這些空格去除 , 并用簡單的字母來代換變量名(如a="hello word";) , 那么這些css和js原文件的大小也會縮小 , 這樣也對加快拉取速度是有幫助的 。
不知道你有沒有看出來 , 上面提到的優化方案的核心就3點:減少請求數、減少資源大小、找最快的服務器 。 如果你是一個網站的產品經理 , 快去找你們的開發確認是否有做過類似的優化吧 。

推薦閱讀