高性能網站的十四條黃金法則


  許多研究都表明,用戶最滿意的打開網頁時間,是在2秒以下。用戶能夠忍受的最長等待時間的中位數,在6~8秒之間。這就是說,8秒是一個臨界值,如果你的網站打開速度在8秒以上,那么很可能,大部分訪問者最終都會離你而去。

  Google做過一個試驗,顯示10條搜索結果的頁面載入需要0.4秒,顯示30條搜索結果的頁面載入需要0.9秒,結果后者使得Google總的流量和收入減少了20%。

  Amazon的統計也顯示了相近的結果,首頁打開時間每增加100毫秒,網站銷售量會減少1%。

  由此可見,網頁的打開速度,對於一個站長,尤其是對於營利性網站來說,是多么重要。但是,從輸入網址到網頁全部打開,這段時間內,瀏覽器與服務器之間都發生了什么?時間都消耗在哪里的呢?

  雅虎實驗室的研究表明,對於大多數網站來說,只有不到10%-20%的響應時間是消耗在從Web服務器上下載HTML文檔到瀏覽器中的。哪另外的80%到90%的時間,消耗到哪里去了呢?

  雅虎的前首席性能專家、著名網頁性能分析YSlow的創建者Steve Souders的《High Performance Web Sites》(國內翻譯為:《高性能網站建設指南》)給大家揭開另外80%-90%的秘密。書中,Souders簡要地提出來關於Web前段性能的十四條黃金法則。如下:

  1. Make Fewer HTTP Requests(盡量減少HTTP請求)
  2. Use a Content Delivery Network (使用內容分發網絡(即CDN))。我前面寫過一篇文章,來介紹CDN網絡的使用。請看“使用Microsoft Ajax Content Delivery Network(CDN)優化WordPress加載速度”。
  3. Add an Expires Header(添加Expires頭)
  4. Gzip Components (壓縮組件)
  5. Put Stylesheets at the Top(把CSS放在HTML最上面)
  6. Put Scripts to the Bottom (把腳本(比如JavaScript)放到HTML最下面)
  7. Avoid CSS Expressions(避免使用CSS表達式)
  8. Make JavaScript and CSS External(使用外部的JavaScript和CSS)
  9. Reduce DNS Lookups (減少DNS查詢次數)
  10. Minify JavaScript(精簡JavaScript)
  11. Avoid Redirects (避免重定向)
  12. Remove Duplicate Scripts(刪除重復代碼)
  13. Configure ETags (配置ETag)
  14. Make Ajax Cacheable(使用Ajax緩存)

  從十四條黃金法則擴展開來 ,每一條都是一支學習樹,看完了解簡單,一條一條掌握就來日方長了。這十四條黃金法則讓你明白前端優化的准則,自己動手處理的時候有明確目標方向。同時,從這本書里,讓我意識到,除了標准的xHTML/CSS/JavaScript,一個優秀的Web開發工程師還應該具備其他幾種技能:

  1. 精通瀏覽器工作原理及不同瀏覽器間的差異
  2. 理解HTTP協議
  3. 掌握服務器端編程
  4. 了解網絡環境配置

  作為一個開發人員,不能再滿足於能實現,而要向更優的實現進軍。不滿足於言簡意賅的操作指南,而要向對內部原理的融會貫通進軍!所以,我計划針對每一條寫一篇原理介紹以及一個實踐日志。關於CDN的實踐前段時間已經發出來了,請看“使用Microsoft Ajax Content Delivery Network(CDN)優化WordPress加載速度”。

注:

  1. 十四條黃金法則的翻譯,是我自己翻譯的。本人水平有限,翻譯的難免有些不妥。如果有不正確的地方,請留言指正。謝謝!

參考資料

特別聲明:

  本文章,發表在博客園的同時,也發布到我的個人博客地瓜哥上。轉載請注明作者和原文網址。
  地瓜哥:http://www.diguage.com/archives/34.html
   博客園:http://www.cnblogs.com/diguage/archive/2012/07/24/2605913.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM