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