減少HTTP請求
頁面內部優化;
啟用緩存;
減少下載量
網絡連接上的優化
減少HTTP請求:
CSS Sprites:將多張圖片合并成一幅單獨的圖片,使用css的background-position屬性。
內聯圖片:通過使用data: URL模式可以在頁面包含圖片而無需任何額外的請求。
iconFont:字體代替圖片
減少腳本與樣式表的請求主要原則就是合并。
頁面內部優化:
樣式表放在頂部,腳本文件放在底部,避免css表達式,把腳本的樣式表放在外部,移除重復腳本。
為避免當頁面變化時重繪頁面元素,瀏覽器會阻塞頁面呈現,直到樣式表解析完畢。所以如果將樣式表放在頂部并不會減少資源的加載時間,它減少的是頁面的呈現時間。
將script標簽放在底部
啟用緩存:
Etag:服務器用于檢查瀏覽器緩存有效性的機制。如果瀏覽器要驗證一個組件是否有效他會使用If-None-Match將etag字符串傳送給服務器。如果ETag是匹配的,服務器端會返回304.
Cache-Control: 使用max-age指令來指定副本被緩存多久。
減少下載量:
開啟gzip壓縮。HTTP1.1通過使用Accept-Encoding來標識支持的壓縮,如果服務器看到這個標識,會使用請求頭中的一種方式來壓縮響應。并通過Content-Enconding來通知web客戶端。壓縮的成本在于:服務器需要耗費額外的cpu進行壓縮,客戶端需要解壓縮。所以需要在cpu的消耗和數據塊的大小之間進行取舍。
優化網絡連接:
使用CDN加速,減少DNS查找,避免重定向