1.記得幫頁面成肥
我們瀏覽網頁實際上是將虛擬主機中的網頁內容下載到本地硬盤,再用瀏覽器解釋查看。下載載網頁的快慢在顯示速度上占了很大比重,所以,網頁本身所占的空間越小,那么瀏覽速度就會越快。這就要求在做網頁的時候遵循一切從簡的原則,如:不要使用太大的 Flash動畫、圖片等資源。干凈、簡潔的頁面會給人一種思路明朗的感覺。
2.如沒必要,盡量使用靜態HTML頁面
眾所周知,ASP、PHP、JSP等程序實現了網頁信息的動態交互,運行起來的確非常方便,因為它們的數據交互性好,能很方便地存取、更改數據庫的內容,使網站“動”起來,如:論壇、留言板等。但是這類程序必須先由服務器執行處理后,生成HTML頁面,然后再“送”往客戶端瀏覽,這就不得不耗費定的服務器資源。如果在虛擬主機上過多地使用這類程序,網頁顯示速度肯定會慢,所以沒有必要,請盡量使用靜態的HTML頁面。
3.不要將整個頁面內容塞到一個Table中
很多站長為了追求頁面統一對齊,將整個頁面的內容都塞進了一個Table(表格)里,然后再由單元格d來劃分各個“塊”的布局,這種網站的顯示速度是絕對慢的。因為 Table要等里面所有的內容都加載完畢后才顯示出來的,如果某些內容無法訪問,就會拖延整個頁面的訪問速度。正確的做法是是:將內容分割到幾個具有相同格局的Table中去,不要全都塞到一個Table里。
4.將ASP、ASPX、PHP等文件的訪問改為.js引用
在ASP、ASPX、PP等程序設計時應該注意,如果要在靜態的HTML頁面里嵌入動態的數據,而這些動態的數據是由ASP、PHP等程序來提供的話,會使用以下的語句引用,這樣的話,每次有一個人訪問你的網站,服務器就要執行并處理一次 tong)I.asp文件,從數據庫抽取相應的數據,再輸出給網頁顯示,如果有幾萬個人同時訪問,就要執行幾萬次次,后果就可想而知。建議在這些程序中將數據動態生成到一個1.js文件中去,然后在首頁通過過KSCRIPTsre="http://www.XXX.com/1.js"></SCRIPT>這樣的代碼來引用該1.js文件。這樣,數據顯示的任務就交給客戶端的瀏覽器去做,不會耗費服務器的資源,顯示速度自然就很快。
5.使用iframe嵌套另一頁面
如果你要在網站上插入一些廣告代碼,又不想讓這些廣告網站影響速度的話,那么,使用iframe最合適不過了。方法是:將這些廣告代碼放到一個獨立的頁面去,然后在首頁用如下的代碼將該頁面嵌入即可,這樣就不會因為廣告頁面的延遲而拖了整個首頁的顯示,代碼如下:
<IFRAMEmarginwidth=0marginheight=0sre="htp://www.+com" frameborder=0 width =468 scrolling =no height=60 leftmargin="0"topman
gin="0"></IFRAME
其中http:/www.本事率,com是被引用文件的路徑。
6.講究網站計數器代碼放置的技巧
在網頁里放置計數器可以統計網站的訪問流量,為站長和廣告商家提供訪問依據。但是,不管功能有多強大的網站統計系統,都會有出故障的時候。如果直接把統計代碼放到頁面內容的前面,或者放在一個Table或者div標簽里,那么在計數器不能訪問的時候,你的頁面上那個Table或者diyv就會產生幾十秒鐘的延遲,導致頁面很長時間才能訪問。所以,要提高網站的速度,就要講究統計代碼放置的位置,正確的方法是:把統計代碼放到頁面的最下面,并且不要和頁面內容同在一個 able或者div標簽里。可以在頁面代碼的最下方直接放置統計代碼,或者在最下方單獨做一個Table或者div來放置計數器。這樣,在計數器不能訪問的時候,你的網站速度也不會受到絲毫影響。
7.友情鏈接的學問
網站之間互相做鏈接可以增加網站的宣傳效果,做LOGO圖片鏈接更能準確地描述網站的主題和定位,宣傳效果會大大地增強,但圖片鏈接做得太多,必然會影響網頁的顯示速度。很多站長都喜歡直接引用友情網站上的圖片URL,這樣圖片要先經過加載才能顯示,各個友情網站的訪問速度不一樣,整個表格都要等圖片都下載完了才能顯示出來,這樣大大降低了網頁的速度。因此,做友情鏈接時應盡量做到:
(1)只做文字鏈接:做文字鏈接是不會延遲網頁速度的。
(2)將所有鏈接放到一個獨立的分頁去,然后在首頁鏈接上該頁
(3)如果友情鏈接一定要出現在首頁,請將鏈接所在的整個Table放到頁面的最下方,因為頁面是由上到下逐行顯示的,將其放到頁面的最下方,不會延遲其他內容的顯示
(4)友情鏈接的LOCO圖片先下載后再傳到自己的網頁空間,這樣,速度由自己的網站空間決定而不受友情網站的影響。
下面介紹在提高網站訪問速度過程中,用于解決具體問題的方法:
(1)減少HTP請求數量。
80%的用戶響應時間被花費在下載頁面中的圖片、樣式表、腳本以及 Flash這些組件。減少這些組件的數量就可以減少展示頁面所需的請求數,而這是提高網頁響應速度的關鍵。
(2)使用內容分布式網絡。
用戶連接網站服務器的速度影響響應的快慢。把你的網站布置在多臺分布于不同地域的服務器上,會讓用戶覺得你的頁面加載速度更快。
(3)給頭部添加一個失效期或者Cache-Control
給頭部添加 far future失效期,可以增加瀏覽器緩存的組件數量并重復用于 千隨后的頁面瀏覽而不需要通過用戶的網絡發送哪怕一個字節。
(4)Cip壓縮組件。
壓縮文件會減少HTTP響應的大小從而減少響應的時間。
(5)把樣式表放在前面。
把樣式表挪到文檔的頭部可以讓頁面的加載顯得更快。因為把樣式表放在頭部可以讓頁面逐步呈現。
(6)把腳本放在最后。
腳本可能會堵塞并發的下載。通常的建議是使用延遲腳本。如果一個腳本可以被延遲,那么它也可以被放在頁面的底部。這會讓你的頁面加載得更快。
(7)不使用CSs表達式。
CSS表達式的問題是它比大多數人期望的執行次數更頻繁。
(8)使用外部的Javascript和CSs
在實際應用中使用外部的文件往往產生更快的頁面,因為瀏覽器會緩存Javascript和CSS文件。
(9)減少DNS的查詢。
減少不同域名的數量可能減少頁面并行的下載數量。
(10)縮小Javascript和CSS
縮小是指從代碼中刪除不必要的字母,減少文件體積從而提高加載速度。
(11)避免重定向。
重定向降低了用戶體驗。在用戶和HTML文檔之間插入的重定向延誤了頁面的呈現和組件下載,因為它們都不可能在獲得HTML文檔之前開始。(12)移除重復的腳本。
在同一個頁面中包含兩個相同的腳本文件降低了性能。當腳本被重復包含時,由于增加了不必要的HTP請求和 Javascript的執行,影影響了性能。
(13)設定Etags
ETag的問題是它們往往在網站的一個服務器中被設為唯一的,當瀏覽器從個服務器得到了組件并在稍后試圖到另一個服務器驗證時,ETag會不匹配,而這在使用多個服務器來處理請求的網站中是很常見的。
(14)讓jax可以緩存。
jax的好處之一是它能給用戶提供瞬間的響應,因為它從服務端異步請求數據。為了提高性能,優化Ajax響應很重要。提高jax性能最重要的方式是使響應緩存。
(15)更早地刷新緩沖區。
當用戶請求一個頁面,服務端會花費200至500毫秒的時間組合HTML頁面。
(16)在jax請求中使用GET方法。
(17)后加載組件。
當你確保頁面工作正常時,通過延后加載的那些更花哨的腳本比如拖放和動畫,可以來增強你的頁面。
(18)預先加載組件。
預先加載組件讓你可以利用瀏覽器的空閑時間來加載之后需要的組件(比如圖片,樣式表和腳本)。這樣當用戶瀏覽下一個頁面的時候,大部分組件都已經在緩存里了而頁面會加載得更快。
(19)減小DOM元素的數量。
復雜的頁面意味著更多的字節需要被下載。你在頁面中添加一個事件,讓它在500或者5000個DOM元素中循環,它們的效率是不同的。
(20)分域部署部件。
將部件分割能使你獲得最大的并行下載效率。但你同時需要注意不使用多于2~4個域名,以避免DNS査詢導致的問題。
(21)減少Iframe的數量。
Iframes能夠使HTML文檔被插入進父級文檔中。
(22)避免404錯誤。
一個獲得沒用的404響應的HTTP請求對于寶貴的HYYTP請求資源來說是完全不必要的,而且這樣還會減慢用戶的體驗。
(23)減少Cookie的大小。
有多種理由讓我們應用 HYTP Cookie,比如身份驗證,或者個性化設置Cookie中的信息在服務端和瀏覽器間被放在HTP頭中交換。盡量減少Cookie的體積對減少用戶獲得響應的時間十分重要。
(24)為部件使用沒有Cookie的域名。
當瀏覽器請求一個靜態圖片并一同發送Cookie時,服務器并不需要這些Cookie。這樣只是毫無益處地創建了多余的網絡流量。應當保證靜態的部件在請求時沒有攜帶Cookie,所以需要把你的靜態部件放在另一個子域名下。
(25)減少DOM的讀取。
利用Javascript讀取DOM元元素很慢,所以為了獲得響應更快的頁面,你應該:緩存被讀取的元素引用。
脫機更新節點,然后把它們加加回到樹結構中。避免利用Javascript定位布局。
(26)開發靈巧的事件處理程序。
如果有太多的事件處理邏輯部署在DOM樹的不同元素上,它們的頻繁執行會拖慢頁面的響應速度。
(27)選擇<link>而不是@。
前面提到把CSS應當放在最頂端來提供預顯。在E中,放在在頁面底部的@Import和<link>效果是一樣的,所以最好不要用它。
(28)不使用過濾器。
E專有的Alphalmage Loader過濾器是為了解決半透明真色PNG圖片在IE7之前的版本中顯示的問題。這個過濾器會在圖片下載時堵塞住展示。而且它會消耗內存并影響每個元素而不僅僅是每張圖片,所以這個過濾器的問題很多。
(29)優化圖片。
(30)優化CSS精靈。
橫向布局 Sprite中的圖片往往比縱向布局會減少文件大小。
(31)不要在HTML中縮放圖片。
不要使用大小超過需要的圖片,即使你能夠在HTML中設置它的屬性。
(32)使用小的可緩存的 Favicon.ico。
Favicon.icon是放在服務器根目錄的一個圖片,它麻煩卻不得不處理,因為即使你不關心,瀏覽器依然會請求這張圖片,所以最好不要提供一個404的錯誤。而且由于它是在同一服務器下的,Cookie也會隨著每次請求一并發送。這張圖片同樣干擾下載隊列,比如在E中,當你在onload事件中請求額外的會在這些額外組件之前下載。
(33)保證組件大小小于25K。
(34)把網站制作的組件打包進多部分文檔中。
本文地址:http://m.murenxiang.com.cn//article/3403.html