DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> 關於HTML >> 從Web前端優化網站性能
從Web前端優化網站性能
編輯:關於HTML     

從Web前端優化網站性能。

1. 減少HTTP請求數

一個完整的請求都需要經過DNS存址、與服務器建立連接、發送數據、等待服務器響應、接收數據這樣一個漫長而復雜的過程。資源上由於每個請求都要攜帶數據,因此每個請求都需要占用帶寬。另外,由於浏覽器進行並發請求的請求數是有上限的,因此請求數多了以後,浏覽器需要分批進行請求,因此會增加用戶的等待時間,會給用戶造成站點速度慢這樣一個印象,即使可能用戶能看到的第一屏的資源都已經請求完了,但是浏覽器的進度條會一直存在。

減少HTTP請求數的主要途徑包括:

(1)從設計實現層面簡化頁面

如果你的頁面想百度首頁那樣簡單,那麼接下來的規則基本上都用不著了。

(2)合理設置HTTP緩存

緩存可以大大減少第二次訪問時的請求數,但是如果是F5刷新的話,請求數一樣。

怎樣才算合理設置?能緩存越多越好,能緩存越久越好。例如,很少變化的圖片資源可以直接通過HTTP Header中的Expires設置一個很長的過期頭;變化不頻繁而又可能會變的資源可以使用Last-Modified來做請求驗證。盡可能的讓資源能夠在緩存中待得更久。

(3)資源合並與壓縮

如果可以的話,盡可能的將外部的腳本、樣本進行合並,多個合為一個。另外,CSS、JavaScript、Image都可以用相應的工具進行壓縮,壓縮後往往能省下不少空間。

(4)CSS Sprites

合並CSS圖片,減少請求數的有一個好辦法。

(5)Inline Images

使用data:URL scheme的方式將圖片嵌入到頁面或者CSS中,如果不考慮資源管理上的問題,不失為一個好辦法。如果是嵌入頁面的話換來的是增大頁面的體積,而無法利用浏覽器緩存。使用在CSS中的圖片更為理想一些。

(6)Lazy Load Images

使頁面剛加載的時候只加載第一屏,當用戶繼續往後滾屏的時候才加載後續的圖片。

2. 將css文件放在head頭,JS腳本放在頁面信息後面

外鏈腳本會在加載時阻塞其他資源。

3. 異步執行inline腳本(保證腳本在頁面內容後面加載)

inline腳本在執行的時候一樣會阻塞並發請求。除此之外,由於浏覽器在頁面處理方面是單線程的,當inline腳本在頁面渲染之前執行時,頁面的渲染工作則會被推遲。

因此,建議將執行時間較長的inline腳本進行異步執行,例如使用setTimeout或者HTML5中的Web Worker。

4. Lazy Load JavaScript

(1)利用min版JS框架

(2)YUI,最初只加載核心模塊,其他模塊可以等到需要使用的時候才加載。

5. 將CSS放在Head中

使頁面在開始渲染之前先加載css資源

6. 異步請求callback

7. 減少不必要的HTTP挑轉

8. 避免重復的資源請求

9. 合並CSS屬性值

如border-style: solid;

border-width:1px;

border-color:red;

變成border: 1px solid red;

10. 為文件頭指定Expires或者Cache-Control

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved