優(yōu)惠活動 - 12周年慶本月新客福利
優(yōu)惠活動 - 12周年慶本月新客福利
優(yōu)惠活動 - 12周年慶本月新客福利

如何讓你的網(wǎng)站更快?

據(jù)Websense調(diào)查公司稱多達70%的上網(wǎng)者表示不愿意在頁面讀取上超過8秒鐘,超過70%的人會因為“慢悠悠的網(wǎng)頁下載速度”而放棄在線瀏覽和購物行為。網(wǎng)站的訪問速度問題已經(jīng)直接影響到了網(wǎng)站的流量,而網(wǎng)站的訪問量幾乎與網(wǎng)站的利益直接掛鉤,因此網(wǎng)站的速度問題成為企業(yè)及站長十分關(guān)注的問題。下面就如何提高網(wǎng)站訪問速度提出一些建議,希望對大家有所幫助。

1.記得幫頁面成肥

我們?yōu)g覽網(wǎng)頁實際上是將虛擬主機中的網(wǎng)頁內(nèi)容下載到本地硬盤,再用瀏覽器解釋查看。下載載網(wǎng)頁的快慢在顯示速度上占了很大比重,所以,網(wǎng)頁本身所占的空間越小,那么瀏覽速度就會越快。這就要求在做網(wǎng)頁的時候遵循一切從簡的原則,如:不要使用太大的 Flash動畫、圖片等資源。干凈、簡潔的頁面會給人一種思路明朗的感覺。

2.如沒必要,盡量使用靜態(tài)HTML頁面

眾所周知,ASP、PHP、JSP等程序?qū)崿F(xiàn)了網(wǎng)頁信息的動態(tài)交互,運行起來的確非常方便,因為它們的數(shù)據(jù)交互性好,能很方便地存取、更改數(shù)據(jù)庫的內(nèi)容,使網(wǎng)站“動”起來,如:論壇、留言板等。但是這類程序必須先由服務(wù)器執(zhí)行處理后,生成HTML頁面,然后再“送”往客戶端瀏覽,這就不得不耗費定的服務(wù)器資源。如果在虛擬主機上過多地使用這類程序,網(wǎng)頁顯示速度肯定會慢,所以沒有必要,請盡量使用靜態(tài)的HTML頁面。



3.不要將整個頁面內(nèi)容塞到一個Table中

很多站長為了追求頁面統(tǒng)一對齊,將整個頁面的內(nèi)容都塞進了一個Table(表格)里,然后再由單元格d來劃分各個“塊”的布局,這種網(wǎng)站的顯示速度是絕對慢的。因為 Table要等里面所有的內(nèi)容都加載完畢后才顯示出來的,如果某些內(nèi)容無法訪問,就會拖延整個頁面的訪問速度。正確的做法是是:將內(nèi)容分割到幾個具有相同格局的Table中去,不要全都塞到一個Table里。

4.將ASP、ASPX、PHP等文件的訪問改為.js引用

在ASP、ASPX、PP等程序設(shè)計時應(yīng)該注意,如果要在靜態(tài)的HTML頁面里嵌入動態(tài)的數(shù)據(jù),而這些動態(tài)的數(shù)據(jù)是由ASP、PHP等程序來提供的話,會使用以下的語句引用,這樣的話,每次有一個人訪問你的網(wǎng)站,服務(wù)器就要執(zhí)行并處理一次 tong)I.asp文件,從數(shù)據(jù)庫抽取相應(yīng)的數(shù)據(jù),再輸出給網(wǎng)頁顯示,如果有幾萬個人同時訪問,就要執(zhí)行幾萬次次,后果就可想而知。建議在這些程序中將數(shù)據(jù)動態(tài)生成到一個1.js文件中去,然后在首頁通過過KSCRIPTsre="http://www.XXX.com/1.js"></SCRIPT>這樣的代碼來引用該1.js文件。這樣,數(shù)據(jù)顯示的任務(wù)就交給客戶端的瀏覽器去做,不會耗費服務(wù)器的資源,顯示速度自然就很快。

5.使用iframe嵌套另一頁面

如果你要在網(wǎng)站上插入一些廣告代碼,又不想讓這些廣告網(wǎng)站影響速度的話,那么,使用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.講究網(wǎng)站計數(shù)器代碼放置的技巧

在網(wǎng)頁里放置計數(shù)器可以統(tǒng)計網(wǎng)站的訪問流量,為站長和廣告商家提供訪問依據(jù)。但是,不管功能有多強大的網(wǎng)站統(tǒng)計系統(tǒng),都會有出故障的時候。如果直接把統(tǒng)計代碼放到頁面內(nèi)容的前面,或者放在一個Table或者div標簽里,那么在計數(shù)器不能訪問的時候,你的頁面上那個Table或者diyv就會產(chǎn)生幾十秒鐘的延遲,導(dǎo)致頁面很長時間才能訪問。所以,要提高網(wǎng)站的速度,就要講究統(tǒng)計代碼放置的位置,正確的方法是:把統(tǒng)計代碼放到頁面的最下面,并且不要和頁面內(nèi)容同在一個 able或者div標簽里??梢栽陧撁娲a的最下方直接放置統(tǒng)計代碼,或者在最下方單獨做一個Table或者div來放置計數(shù)器。這樣,在計數(shù)器不能訪問的時候,你的網(wǎng)站速度也不會受到絲毫影響。

7.友情鏈接的學(xué)問

網(wǎng)站之間互相做鏈接可以增加網(wǎng)站的宣傳效果,做LOGO圖片鏈接更能準確地描述網(wǎng)站的主題和定位,宣傳效果會大大地增強,但圖片鏈接做得太多,必然會影響網(wǎng)頁的顯示速度。很多站長都喜歡直接引用友情網(wǎng)站上的圖片URL,這樣圖片要先經(jīng)過加載才能顯示,各個友情網(wǎng)站的訪問速度不一樣,整個表格都要等圖片都下載完了才能顯示出來,這樣大大降低了網(wǎng)頁的速度。因此,做友情鏈接時應(yīng)盡量做到:

(1)只做文字鏈接:做文字鏈接是不會延遲網(wǎng)頁速度的。

(2)將所有鏈接放到一個獨立的分頁去,然后在首頁鏈接上該頁

(3)如果友情鏈接一定要出現(xiàn)在首頁,請將鏈接所在的整個Table放到頁面的最下方,因為頁面是由上到下逐行顯示的,將其放到頁面的最下方,不會延遲其他內(nèi)容的顯示

(4)友情鏈接的LOCO圖片先下載后再傳到自己的網(wǎng)頁空間,這樣,速度由自己的網(wǎng)站空間決定而不受友情網(wǎng)站的影響。

下面介紹在提高網(wǎng)站訪問速度過程中,用于解決具體問題的方法:
 
(1)減少HTP請求數(shù)量。

80%的用戶響應(yīng)時間被花費在下載頁面中的圖片、樣式表、腳本以及 Flash這些組件。減少這些組件的數(shù)量就可以減少展示頁面所需的請求數(shù),而這是提高網(wǎng)頁響應(yīng)速度的關(guān)鍵。

(2)使用內(nèi)容分布式網(wǎng)絡(luò)。

用戶連接網(wǎng)站服務(wù)器的速度影響響應(yīng)的快慢。把你的網(wǎng)站布置在多臺分布于不同地域的服務(wù)器上,會讓用戶覺得你的頁面加載速度更快。
 
(3)給頭部添加一個失效期或者Cache-Control

給頭部添加 far future失效期,可以增加瀏覽器緩存的組件數(shù)量并重復(fù)用于 千隨后的頁面瀏覽而不需要通過用戶的網(wǎng)絡(luò)發(fā)送哪怕一個字節(jié)。
 
(4)Cip壓縮組件。

壓縮文件會減少HTTP響應(yīng)的大小從而減少響應(yīng)的時間。
 
(5)把樣式表放在前面。

把樣式表挪到文檔的頭部可以讓頁面的加載顯得更快。因為把樣式表放在頭部可以讓頁面逐步呈現(xiàn)。

(6)把腳本放在最后。

腳本可能會堵塞并發(fā)的下載。通常的建議是使用延遲腳本。如果一個腳本可以被延遲,那么它也可以被放在頁面的底部。這會讓你的頁面加載得更快。
 
(7)不使用CSs表達式。

CSS表達式的問題是它比大多數(shù)人期望的執(zhí)行次數(shù)更頻繁。
 
(8)使用外部的Javascript和CSs

在實際應(yīng)用中使用外部的文件往往產(chǎn)生更快的頁面,因為瀏覽器會緩存Javascript和CSS文件。
 
(9)減少DNS的查詢。

減少不同域名的數(shù)量可能減少頁面并行的下載數(shù)量。

(10)縮小Javascript和CSS

縮小是指從代碼中刪除不必要的字母,減少文件體積從而提高加載速度。
 
(11)避免重定向。

重定向降低了用戶體驗。在用戶和HTML文檔之間插入的重定向延誤了頁面的呈現(xiàn)和組件下載,因為它們都不可能在獲得HTML文檔之前開始。(12)移除重復(fù)的腳本。

在同一個頁面中包含兩個相同的腳本文件降低了性能。當(dāng)腳本被重復(fù)包含時,由于增加了不必要的HTP請求和 Javascript的執(zhí)行,影影響了性能。
 
(13)設(shè)定Etags 


ETag的問題是它們往往在網(wǎng)站的一個服務(wù)器中被設(shè)為唯一的,當(dāng)瀏覽器從個服務(wù)器得到了組件并在稍后試圖到另一個服務(wù)器驗證時,ETag會不匹配,而這在使用多個服務(wù)器來處理請求的網(wǎng)站中是很常見的。
 
(14)讓jax可以緩存。

jax的好處之一是它能給用戶提供瞬間的響應(yīng),因為它從服務(wù)端異步請求數(shù)據(jù)。為了提高性能,優(yōu)化Ajax響應(yīng)很重要。提高jax性能最重要的方式是使響應(yīng)緩存。

(15)更早地刷新緩沖區(qū)。

當(dāng)用戶請求一個頁面,服務(wù)端會花費200至500毫秒的時間組合HTML頁面。

(16)在jax請求中使用GET方法。
 
(17)后加載組件。

當(dāng)你確保頁面工作正常時,通過延后加載的那些更花哨的腳本比如拖放和動畫,可以來增強你的頁面。
 
(18)預(yù)先加載組件。

預(yù)先加載組件讓你可以利用瀏覽器的空閑時間來加載之后需要的組件(比如圖片,樣式表和腳本)。這樣當(dāng)用戶瀏覽下一個頁面的時候,大部分組件都已經(jīng)在緩存里了而頁面會加載得更快。
 
(19)減小DOM元素的數(shù)量。

復(fù)雜的頁面意味著更多的字節(jié)需要被下載。你在頁面中添加一個事件,讓它在500或者5000個DOM元素中循環(huán),它們的效率是不同的。
 
(20)分域部署部件。

將部件分割能使你獲得最大的并行下載效率。但你同時需要注意不使用多于2~4個域名,以避免DNS査詢導(dǎo)致的問題。
 
(21)減少Iframe的數(shù)量。

Iframes能夠使HTML文檔被插入進父級文檔中。
 
(22)避免404錯誤。

一個獲得沒用的404響應(yīng)的HTTP請求對于寶貴的HYYTP請求資源來說是完全不必要的,而且這樣還會減慢用戶的體驗。
 
(23)減少Cookie的大小。

有多種理由讓我們應(yīng)用 HYTP Cookie,比如身份驗證,或者個性化設(shè)置Cookie中的信息在服務(wù)端和瀏覽器間被放在HTP頭中交換。盡量減少Cookie的體積對減少用戶獲得響應(yīng)的時間十分重要。
 
(24)為部件使用沒有Cookie的域名。

當(dāng)瀏覽器請求一個靜態(tài)圖片并一同發(fā)送Cookie時,服務(wù)器并不需要這些Cookie。這樣只是毫無益處地創(chuàng)建了多余的網(wǎng)絡(luò)流量。應(yīng)當(dāng)保證靜態(tài)的部件在請求時沒有攜帶Cookie,所以需要把你的靜態(tài)部件放在另一個子域名下。
 
(25)減少DOM的讀取。

利用Javascript讀取DOM元元素很慢,所以為了獲得響應(yīng)更快的頁面,你應(yīng)該:緩存被讀取的元素引用。

脫機更新節(jié)點,然后把它們加加回到樹結(jié)構(gòu)中。避免利用Javascript定位布局。
 
(26)開發(fā)靈巧的事件處理程序。

如果有太多的事件處理邏輯部署在DOM樹的不同元素上,它們的頻繁執(zhí)行會拖慢頁面的響應(yīng)速度。

(27)選擇<link>而不是@。

前面提到把CSS應(yīng)當(dāng)放在最頂端來提供預(yù)顯。在E中,放在在頁面底部的@Import和<link>效果是一樣的,所以最好不要用它。
 
(28)不使用過濾器。

E專有的Alphalmage Loader過濾器是為了解決半透明真色PNG圖片在IE7之前的版本中顯示的問題。這個過濾器會在圖片下載時堵塞住展示。而且它會消耗內(nèi)存并影響每個元素而不僅僅是每張圖片,所以這個過濾器的問題很多。
 
(29)優(yōu)化圖片。

(30)優(yōu)化CSS精靈。

橫向布局 Sprite中的圖片往往比縱向布局會減少文件大小。
 
(31)不要在HTML中縮放圖片。

不要使用大小超過需要的圖片,即使你能夠在HTML中設(shè)置它的屬性。
 
(32)使用小的可緩存的 Favicon.ico。

Favicon.icon是放在服務(wù)器根目錄的一個圖片,它麻煩卻不得不處理,因為即使你不關(guān)心,瀏覽器依然會請求這張圖片,所以最好不要提供一個404的錯誤。而且由于它是在同一服務(wù)器下的,Cookie也會隨著每次請求一并發(fā)送。這張圖片同樣干擾下載隊列,比如在E中,當(dāng)你在onload事件中請求額外的會在這些額外組件之前下載。
 
(33)保證組件大小小于25K。

(34)把網(wǎng)站制作的組件打包進多部分文檔中。

本文地址:http://hbbqcd.cn//article/3403.html
相關(guān)文章:
最新文章: