加速web網站的方法__web
來源:互聯網
上載者:User
1.減少http請求: 綜合檔案: 將多個js或css檔案合成一個js或css檔案。將分割成多個的小圖合成為一個大圖。雖然總的大小是一樣的,但可以減少http請求的次數,減少開銷。 2.使用CDN(Content Delivery Network) 使用多個在地理上分布的伺服器,讓使用者去訪問其訪問速度最快的一個伺服器去請求資源。需要考慮的是多個伺服器上資源的同步。 3.添加Expire或Cache-Control header 對於不經常修改的資源:例如圖片,js檔案等,可以為其添加"Expires: Thu, 15 Apr 2010 20:00:00 GMT"等,這樣就不必每次都去下載這些資源。如果修改了這些資源,普遍的做法是將這個檔案重新命名,這樣瀏覽器就會去下載最新的資源了。 4.使用Gzip壓縮組建 在頁面中添加"Content-Encoding: Gzip",指示將response的內容按"Gzip"進行壓縮,瀏覽器收到response後,會將內容按"Gzip"解壓然後顯示出來。 5.將CSS檔案放在頂部 瀏覽器顯示頁面的某部分內容時,是在這部分內容需要的CSS檔案全部下載以後才顯示。所以將CSS檔案放在頂部,首先全部下載下來。這樣頁面就會從上到下逐漸顯示出來,而不會一直是空白狀態等待下載相關CSS檔案,最後突然全部顯示出來。 6.將JS檔案放在底部 JS檔案導致的問題是會中斷並行下載。IE瀏覽器預設的是可同時在一個主機名稱下並行的下載兩個資源,如果你將圖片等放在多個主機名稱下,瀏覽器同時可以下載多個資源。但下載JS檔案是例外,它會中斷並行下載,就算資源在不同的主機名稱下,下載JS的時候不會再並行下載其他資源。 7.避免使用CSS運算式 background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );此段運算式可以使背景色每隔一小時變換一次。但這個運算式會執行很多次,例如:滑鼠移動時,頁面滾動時,表單移動或改變大小時。影響了效率。 8.將js,css檔案外置 如果將js,css代碼直接寫在頁面裡面,瀏覽器每次訪問頁面時都會下載這些代碼,但如果將js,css代碼寫在單獨的檔案裡,然後在頁面裡引用這些檔案,由於瀏覽器有cache功能,這些js,css檔案不會每次都會下載,提高了速度。 9.減少DNS尋找 DNS將網域名稱轉換為IP地址,每次網域名稱解析需要花費20-120毫秒。IE瀏覽器緩衝這些DNS30分鐘,Firefox瀏覽器緩衝DNS1分鐘。盡量減少網域名稱應用會縮減DNS的解析時間,但它會潛在的增加下載的時間(瀏覽器同時只能從一個網域名稱並行下載兩個資源)。因此,指導建議是:將內容分布在2-4個網域名稱上。 http://developer.yahoo.com/performance/rules.html