web優化之YSlow的使用

前幾天看了幾篇關於web優化的文章,優化方法大同小異,減少HTTP請求,壓縮代碼,圖片彙總等。今天看到關於YSlow的介紹,纔想到竟然有這麼個插件,提示你哪裏可以優化。

YSlow是Yahoo發佈的一款基於FireFox的插件,安裝YSlow必須首先先安裝 Firebug,然後下載YSlow,再對其安裝。

一、YSlow有什麼用?
  • YSlow可以對網站的頁面進行分析,並告訴你爲了提高網站性能,如何基於某些規則而進行優化。
  • YSlow可以分析任何網站,併爲每一個規則產生一個整體報告,如果頁面可以進行優化,則YSlow會列出具體的修改意見。

二、YSlow的安裝:

1、安裝 firebug插件。針對不同的瀏覽器插件也是不同的,例如 針對chrome.插件名稱爲:Firebug Lite for Google Chrome。官網下載地址爲:https://chrome.google.com/webstore/search/firebug%20%20for%20chrome

點擊添加至chrome ,安裝後,Firebug Lite按鈕將會出現在谷歌瀏覽器地址欄右側,一個小蟲子圖標在哪裏顯示着。點擊即可啓用。

2、安裝YSLOW插件,官網下載地址爲:http://developer.yahoo.com/yslow/

點擊安裝即可。安裝後,YSlow按鈕會在 chrome的右上角顯示。

三、YSlow的使用

點擊YSlow按鈕,啓動插件,點擊Run Test 測試當前頁面。在新彈出的界面中按照重要性顯示了影響此頁面效率的元素,其中A類評分爲最高,F爲最低。詳細使用手冊可見:使用手冊

四、一般來說提高網頁效率依照下面23條準則

1. 減少HTTP請求次數
合併圖片、CSS、JS,改進首次訪問用戶等待時間。
2. 使用CDN
就近緩存==>智能路由==>負載均衡==>WSA全站動態加速
3. 避免空的src和href
當link標籤的href屬性爲空、script標籤的src屬性爲空的時候,瀏覽器渲染的時候會把當前頁面的URL作爲它們的屬性值,從而把頁面的內容加載進來作爲它們的值。測試
4. 爲文件頭指定Expires
使內容具有緩存性。避免了接下來的頁面訪問中不必要的HTTP請求。
5. 使用gzip壓縮內容
壓縮任何一個文本類型的響應,包括XML和JSON,都是值得的。舊文章
6. 把CSS放到頂部
7. 把JS放到底部
防止js加載對之後資源造成阻塞。
8. 避免使用CSS表達式
9. 將CSS和JS放到外部文件中
目的是緩存,但有時候爲了減少請求,也會直接寫到頁面裏,需根據PV和IP的比例權衡。
10. 權衡DNS查找次數
減少主機名可以節省響應時間。但同時,需要注意,減少主機會減少頁面中並行下載的數量。
IE瀏覽器在同一時刻只能從同一域名下載兩個文件。當在一個頁面顯示多張圖片時,IE 用戶的圖片下載速度就會受到影響。所以新浪會搞N個二級域名來放圖片。
11. 精簡CSS和JS
12. 避免跳轉
同域:注意避免反斜槓 “/” 的跳轉;
跨域:使用Alias或者mod_rewirte建立CNAME(保存域名與域名之間關係的DNS記錄)
13. 刪除重複的JS和CSS
重複調用腳本,除了增加額外的HTTP請求外,多次運算也會浪費時間。在IE和Firefox中不管腳本是否可緩存,它們都存在重複運算JavaScript的問題。
14. 配置ETags
它用來判斷瀏覽器緩存裏的元素是否和原來服務器上的一致。比last-modified date更具有彈性,例如某個文件在1秒內修改了10次,Etag可以綜合Inode(文件的索引節點(inode)數),MTime(修改時間)和Size來精準的進行判斷,避開UNIX記錄MTime只能精確到秒的問題。 服務器集羣使用,可取後兩個參數。使用ETags減少Web應用帶寬和負載
15. 可緩存的AJAX
“異步”並不意味着“即時”:Ajax並不能保證用戶不會在等待異步的JavaScript和XML響應上花費時間。
16. 使用GET來完成AJAX請求
當使用XMLHttpRequest時,瀏覽器中的POST方法是一個“兩步走”的過程:首先發送文件頭,然後才發送數據。因此使用GET獲取數據時更加有意義。
17. 減少DOM元素數量
是否存在一個是更貼切的標籤可以使用?人生不僅僅是DIV+CSS
18. 避免404
有些站點把404錯誤響應頁面改爲“你是不是要找***”,這雖然改進了用戶體驗但是同樣也會浪費服務器資源(如數據庫等)。最糟糕的情況是指向外部 JavaScript的鏈接出現問題並返回404代碼。首先,這種加載會破壞並行加載;其次瀏覽器會把試圖在返回的404響應內容中找到可能有用的部分當作JavaScript代碼來執行。
19. 減少Cookie的大小
20. 使用無cookie的域
比如圖片 CSS 等,Yahoo! 的靜態文件都在主域名以外,客戶端請求靜態文件的時候,減少了 Cookie 的反覆傳輸對主域名的影響。
21. 不要使用濾鏡
png24的在IE6半透明那種東西,別亂使,淡定的切成PNG8+jpg
22. 不要在HTML中縮放圖片
23. 縮小favicon.ico並緩存



發佈了41 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章