1、將css放在頁面最上面,將js放在頁面最下面
css放在頁面最上面可以防止頁面出現白屏、閃跳的現象,即減少頁面的首屏出現時間。js的下載和執行會阻塞Dom樹的構建(嚴謹地說是中斷了Dom樹的更新),所以script標籤放在首屏範圍內的HTML程式碼段裡會截斷首屏的內容。而且js中可能會對DOM節點進行操作,而這時程式碼是自上向下進行執行的,這樣會造成js對相應的元素操作不了。所以js放在頁面的最下面。
2、減少檔案體積,去除不必要的空白符、格式符、註釋。
也就是減小檔案佔用記憶體,更快,更高效餓去載入網頁和指令碼。
3、把js和css提取出來放在外部檔案中
把js和css檔案提取出來放在外部檔案的優點是:減少html檔案體積,提高了js和css的複用行,提高日後的可維護性。缺點時:增加了http請求。(js和css程式碼比較少的時候,可以將js和css寫在頁面上)
4、避免重定向
重定向就是使用者請求的頁面被轉移到了別的地方,瀏覽器向服務請請求一個頁面,伺服器告訴瀏覽器請求的頁面已經被轉移到另外一個頁面,並告知另一個頁面地址,瀏覽器就再傳送請求到重定向的地址。這樣會增加伺服器和瀏覽器之間的往返次數,影響網站效能。
5、移除重複的指令碼
6、減少DNS查詢
DNS查詢服務指域名查詢,指將請求的域名轉化為對應的IP地址,就如姓名和門牌號的關係。如輸入www.baidu.com DNS系統會將此域名轉化為119.75.217.109,然後將IP地址返回給瀏覽器,這個過程會花費一定的時間,影響頁面的載入,所以要儘可能減少DNS查詢。
減少DNS查詢的方法有:快取 DNS查詢可以改善頁面效能,大多數瀏覽器有自己的快取系統,快取時間又不一致,快取時間越長,DNS儲存的時間越長。
當客戶端中的 DNS快取都為空時(瀏覽器和作業系統都為空), DNS查詢的次數和頁面中主機名的數量相同。這其中包括頁面中 URL、圖片、指令碼檔案、樣式表、Flash物件等包含的主機名。減少主機名的數量可以減少DNS查詢次數。
減少主機名的數量還可以減少頁面中並行下載的數量。減少 DNS查詢次數可以節省響應時間,但是減少並行下載卻會增加響應時間。我的指導原則是 把這些頁面中的內容分割成至少兩部分但不超過四部分。這種結果就是在減少 DNS查詢次數和保持較高程度並行下載兩者之間的權衡了。
8、使用ajax快取
ajax的get和post方法:
只要是瀏覽器的get請求,瀏覽器都會使用快取,對於同一地址的請求,伺服器會傳送304狀態碼到瀏覽器,瀏覽器就會使用快取中的資料
post的請求每次都會被執行,瀏覽器不會快取