【總結】雅虎14條

雅虎14條

1.減少HTTP請求
  減少HTTP請求的方式很多,常見的包括CSS Sprites、合併JS和CSS、圖片地圖等。遵守這條規則可以改善首次訪問網站的響應時間。

2.使用CDN(內容發佈網絡)
  只有10%-20%的最終用戶響應時間花在了下載HTML文檔上,其餘的80%-90%時間花在了下載頁面中的所有組件上。如果web服務器離服務器更近,則一個HTTP請求的響應時間將縮短。CDN是一組分佈在多個不同地理位置的web服務器,每個服務器都擁有所有網站的文件副本,用戶訪問網站時,就可以從離用戶最近的服務器發送所需的文件給客戶端。Yahoo!Shopping網站使用CDN後響應時間減少了20%。

3.添加Expires頭
  通過使用Expires頭,瀏覽器可以在用戶首次訪問網站後,將頁面的資源緩存下來。可以爲Expires指定過期時間,在指定時間後,緩存將失效。

4.啓用Gzip
  客戶端可以通過HTTP請求中的Accept-Encoding頭來標識對壓縮的支持(Accept-Encoding:gzip,deflate),服務器看到請求中有這個頭,就會使用客戶端列出的一種方法來壓縮響應。大多數網站使用gzip壓縮了HTML。

5.將CSS放在頂部
  將CSS放在底部會發生無樣式閃爍,瀏覽器會先加載HTML,然後加載CSS,會出現一段沒有任何樣式的“白屏時間”。而將CSS放在頂部則能規避這個問題。

6.將腳本放在底部
  將腳本放在頂部或頁面中,瀏覽器會對script標籤內的內容進行解析,從而阻塞樣式的渲染。除此之外,HTTP1.1規範建議瀏覽器從每個主機並行的下載兩個組件,在高版本的IE和chrome、Firefox等瀏覽器則支持並行下載六個組件。但script會阻塞並行下載。因此我們應該將腳本放在底部。

7.避免CSS表達式
CSS表達式具備求值計算能力,然而每次頁面發生重繪時,CSS表達式會影響頁面的加載時間。

8.使用外部JavaScript和CSS
  使用大量內聯的JS和CSS就不能實現樣式、結構、行爲的分離,這樣會在維護上造成很多麻煩,同時也會增大網頁的體積。

9.減少DNS查詢
  通過使用Keep-Alive和較少的域名可以減少DNS查詢

10.精簡JavaScript和CSS
  進行代碼混淆可以壓縮JS文件的大小,這個通過gulp等構建工具可以自動化的進行。

11.避免重定向
  重定向用於將用戶從一個URL重新路由到另一個URL。重定向有很多種,包括301永久重定向、302臨時重定向,304 Not Modified並不是真正的重定向,它是用來響應Get請求,避免下載已經存在於瀏覽器緩存中的數據。在URL的結尾加上斜線(/)可以避免一部分重定向。

12.移除重複腳本
13.配置ETag
  實體標籤(Entity Tag)是web服務器和瀏覽器用於確認緩存資源的有效性的一種機制,它可以檢測瀏覽器中緩存的資源與原始服務器上的資源是否匹配。ETag是唯一標識資源的一個特定版本的字符串,瀏覽器要驗證一個資源,它會使用If-None-Match頭將ETag傳回原始服務器。如果ETag是匹配的,就會返回304狀態碼,從而使用瀏覽器緩存。

14.緩存Ajax
  確保Ajax請求具有長久的Expires頭

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章