來源:無錫網(wǎng)站建設(shè)阿凡達(dá) 瀏覽次數(shù):380 發(fā)表日期:2023-05-12
據(jù)Websense調(diào)查公司稱多達(dá)70%的上網(wǎng)者表示不愿意在頁面讀取上超過8秒鐘,超過70%的人會(huì)因?yàn)槁朴频木W(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)頁實(shí)際上是將虛擬主機(jī)中的網(wǎng)頁內(nèi)容下載到本地硬盤,再用瀏覽器解釋查看。下載載網(wǎng)頁的快慢在顯示速度上占了很大比重,所以,網(wǎng)頁本身所占的空間越小,那么瀏覽速度就會(huì)越快。這就要求在做網(wǎng)頁的時(shí)候遵循一切從簡的原則,如:不要使用太大的 Flash動(dòng)畫、圖片等資源。干凈、簡潔的頁面會(huì)給人一種思路明朗的感覺。
2.如沒必要,盡量使用靜態(tài)HTML頁面
眾所周知,ASP、PHP、JSP等程序?qū)崿F(xiàn)了網(wǎng)頁信息的動(dòng)態(tài)交互,運(yùn)行起來的確非常方便,因?yàn)樗鼈兊臄?shù)據(jù)交互性好,能很方便地存取、更改數(shù)據(jù)庫的內(nèi)容,使網(wǎng)站“動(dòng)”起來,如:論壇、留言板等。但是這類程序必須先由服務(wù)器執(zhí)行處理后,生成HTML頁面,然后再“送”往客戶端瀏覽,這就不得不耗費(fèi)定的服務(wù)器資源。如果在虛擬主機(jī)上過多地使用這類程序,網(wǎng)頁顯示速度肯定會(huì)慢,所以沒有必要,請盡量使用靜態(tài)的HTML頁面。
3.不要將整個(gè)頁面內(nèi)容塞到一個(gè)Table中
很多站長為了追求頁面統(tǒng)一對齊,將整個(gè)頁面的內(nèi)容都塞進(jìn)了一個(gè)Table(表格)里,然后再由單元格d來劃分各個(gè)“塊”的布局,這種網(wǎng)站的顯示速度是**慢的。因?yàn)?nbsp;Table要等里面所有的內(nèi)容都加載完畢后才顯示出來的,如果某些內(nèi)容無法訪問,就會(huì)拖延整個(gè)頁面的訪問速度。正確的做法是是:將內(nèi)容分割到幾個(gè)具有相同格局的Table中去,不要全都塞到一個(gè)Table里。
4.將ASP、ASPX、PHP等文件的訪問改為.js引用
在ASP、ASPX、PP等程序設(shè)計(jì)時(shí)應(yīng)該注意,如果要在靜態(tài)的HTML頁面里嵌入動(dòng)態(tài)的數(shù)據(jù),而這些動(dòng)態(tài)的數(shù)據(jù)是由ASP、PHP等程序來提供的話,會(huì)使用以下的語句引用,這樣的話,每次有一個(gè)人訪問你的網(wǎng)站,服務(wù)器就要執(zhí)行并處理一次 tong)I.asp文件,從數(shù)據(jù)庫抽取相應(yīng)的數(shù)據(jù),再輸出給網(wǎng)頁顯示,如果有幾萬個(gè)人同時(shí)訪問,就要執(zhí)行幾萬次次,后果就可想而知。建議在這些程序中將數(shù)據(jù)動(dòng)態(tài)生成到一個(gè)1.js文件中去,然后在首頁通過過KSCRIPTsre="http://www.XXX.com/1.js">這樣的代碼來引用該1.js文件。這樣,數(shù)據(jù)顯示的任務(wù)就交給客戶端的瀏覽器去做,不會(huì)耗費(fèi)服務(wù)器的資源,顯示速度自然就很快。
5.使用iframe嵌套另一頁面
如果你要在網(wǎng)站上插入一些廣告代碼,又不想讓這些廣告網(wǎng)站影響速度的話,那么,使用iframe*合適不過了。方法是:將這些廣告代碼放到一個(gè)獨(dú)立的頁面去,然后在首頁用如下的代碼將該頁面嵌入即可,這樣就不會(huì)因?yàn)閺V告頁面的延遲而拖了整個(gè)首頁的顯示,代碼如下:
gin="0">
其中http:/www.本事率,com是被引用文件的路徑。
6.講究網(wǎng)站計(jì)數(shù)器代碼放置的技巧
在網(wǎng)頁里放置計(jì)數(shù)器可以統(tǒng)計(jì)網(wǎng)站的訪問流量,為站長和廣告商家提供訪問依據(jù)。但是,不管功能有多強(qiáng)大的網(wǎng)站統(tǒng)計(jì)系統(tǒng),都會(huì)有出故障的時(shí)候。如果直接把統(tǒng)計(jì)代碼放到頁面內(nèi)容的前面,或者放在一個(gè)Table或者div標(biāo)簽里,那么在計(jì)數(shù)器不能訪問的時(shí)候,你的頁面上那個(gè)Table或者diyv就會(huì)產(chǎn)生幾十秒鐘的延遲,導(dǎo)致頁面很長時(shí)間才能訪問。所以,要提高網(wǎng)站的速度,就要講究統(tǒng)計(jì)代碼放置的位置,正確的方法是:把統(tǒng)計(jì)代碼放到頁面的*下面,并且不要和頁面內(nèi)容同在一個(gè) able或者div標(biāo)簽里??梢栽陧撁娲a的*下方直接放置統(tǒng)計(jì)代碼,或者在*下方單獨(dú)做一個(gè)Table或者div來放置計(jì)數(shù)器。這樣,在計(jì)數(shù)器不能訪問的時(shí)候,你的網(wǎng)站速度也不會(huì)受到絲毫影響。
7.友情鏈接的學(xué)問
網(wǎng)站之間互相做鏈接可以增加網(wǎng)站的宣傳效果,做LOGO圖片鏈接更能準(zhǔn)確地描述網(wǎng)站的主題和定位,宣傳效果會(huì)大大地增強(qiáng),但圖片鏈接做得太多,必然會(huì)影響網(wǎng)頁的顯示速度。很多站長都喜歡直接引用友情網(wǎng)站上的圖片URL,這樣圖片要先經(jīng)過加載才能顯示,各個(gè)友情網(wǎng)站的訪問速度不一樣,整個(gè)表格都要等圖片都下載完了才能顯示出來,這樣大大降低了網(wǎng)頁的速度。因此,做友情鏈接時(shí)應(yīng)盡量做到:
(1)只做文字鏈接:做文字鏈接是不會(huì)延遲網(wǎng)頁速度的。
(2)將所有鏈接放到一個(gè)獨(dú)立的分頁去,然后在首頁鏈接上該頁
(3)如果友情鏈接一定要出現(xiàn)在首頁,請將鏈接所在的整個(gè)Table放到頁面的*下方,因?yàn)轫撁媸怯缮系较轮鹦酗@示的,將其放到頁面的*下方,不會(huì)延遲其他內(nèi)容的顯示
(4)友情鏈接的LOCO圖片先下載后再傳到自己的網(wǎng)頁空間,這樣,速度由自己的網(wǎng)站空間決定而不受友情網(wǎng)站的影響。
下面介紹在提高網(wǎng)站訪問速度過程中,用于解決具體問題的方法:
(1)減少HTP請求數(shù)量。
80%的用戶響應(yīng)時(shí)間被花費(fèi)在下載頁面中的圖片、樣式表、腳本以及 Flash這些組件。減少這些組件的數(shù)量就可以減少展示頁面所需的請求數(shù),而這是提高網(wǎng)頁響應(yīng)速度的關(guān)鍵。
(2)使用內(nèi)容分布式網(wǎng)絡(luò)。
用戶連接網(wǎng)站服務(wù)器的速度影響響應(yīng)的快慢。把你的網(wǎng)站布置在多臺(tái)分布于不同地域的服務(wù)器上,會(huì)讓用戶覺得你的頁面加載速度更快。
(3)給頭部添加一個(gè)失效期或者Cache-Control
給頭部添加 far future失效期,可以增加瀏覽器緩存的組件數(shù)量并重復(fù)用于 千隨后的頁面瀏覽而不需要通過用戶的網(wǎng)絡(luò)發(fā)送哪怕一個(gè)字節(jié)。
(4)Cip壓縮組件。
壓縮文件會(huì)減少HTTP響應(yīng)的大小從而減少響應(yīng)的時(shí)間。
(5)把樣式表放在前面。
把樣式表挪到文檔的頭部可以讓頁面的加載顯得更快。因?yàn)榘褬邮奖矸旁陬^部可以讓頁面逐步呈現(xiàn)。
(6)把腳本放在*后。
腳本可能會(huì)堵塞并發(fā)的下載。通常的建議是使用延遲腳本。如果一個(gè)腳本可以被延遲,那么它也可以被放在頁面的底部。這會(huì)讓你的頁面加載得更快。
(7)不使用CSs表達(dá)式。
CSS表達(dá)式的問題是它比大多數(shù)人期望的執(zhí)行次數(shù)更頻繁。
(8)使用外部的Javascript和CSs
在實(shí)際應(yīng)用中使用外部的文件往往產(chǎn)生更快的頁面,因?yàn)闉g覽器會(huì)緩存Javascript和CSS文件。
(9)減少DNS的查詢。
減少不同域名的數(shù)量可能減少頁面并行的下載數(shù)量。
(10)縮小Javascript和CSS
縮小是指從代碼中刪除不必要的字母,減少文件體積從而提高加載速度。
(11)避免重定向。
重定向降低了用戶體驗(yàn)。在用戶和HTML文檔之間插入的重定向延誤了頁面的呈現(xiàn)和組件下載,因?yàn)樗鼈兌疾豢赡茉讷@得HTML文檔之前開始。(12)移除重復(fù)的腳本。
在同一個(gè)頁面中包含兩個(gè)相同的腳本文件降低了性能。當(dāng)腳本被重復(fù)包含時(shí),由于增加了不必要的HTP請求和 Javascript的執(zhí)行,影影響了性能。
(13)設(shè)定Etags
ETag的問題是它們往往在網(wǎng)站的一個(gè)服務(wù)器中被設(shè)為*一的,當(dāng)瀏覽器從個(gè)服務(wù)器得到了組件并在稍后試圖到另一個(gè)服務(wù)器驗(yàn)證時(shí),ETag會(huì)不匹配,而這在使用多個(gè)服務(wù)器來處理請求的網(wǎng)站中是很常見的。
(14)讓jax可以緩存。
jax的好處之一是它能給用戶提供瞬間的響應(yīng),因?yàn)樗鼜姆?wù)端異步請求數(shù)據(jù)。為了提高性能,優(yōu)化Ajax響應(yīng)很重要。提高jax性能*重要的方式是使響應(yīng)緩存。
(15)更早地刷新緩沖區(qū)。
當(dāng)用戶請求一個(gè)頁面,服務(wù)端會(huì)花費(fèi)200至500毫秒的時(shí)間組合HTML頁面。
(16)在jax請求中使用GET方法。
(17)后加載組件。
當(dāng)你確保頁面工作正常時(shí),通過延后加載的那些更花哨的腳本比如拖放和動(dòng)畫,可以來增強(qiáng)你的頁面。
(18)預(yù)先加載組件。
預(yù)先加載組件讓你可以利用瀏覽器的空閑時(shí)間來加載之后需要的組件(比如圖片,樣式表和腳本)。這樣當(dāng)用戶瀏覽下一個(gè)頁面的時(shí)候,大部分組件都已經(jīng)在緩存里了而頁面會(huì)加載得更快。
(19)減小DOM元素的數(shù)量。
復(fù)雜的頁面意味著更多的字節(jié)需要被下載。你在頁面中添加一個(gè)事件,讓它在500或者5000個(gè)DOM元素中循環(huán),它們的效率是不同的。
(20)分域部署部件。
將部件分割能使你獲得*大的并行下載效率。但你同時(shí)需要注意不使用多于2~4個(gè)域名,以避免DNS査詢導(dǎo)致的問題。
(21)減少Iframe的數(shù)量。
Iframes能夠使HTML文檔被插入進(jìn)父級(jí)文檔中。
(22)避免404錯(cuò)誤。
一個(gè)獲得沒用的404響應(yīng)的HTTP請求對于寶貴的HYYTP請求資源來說是完全不必要的,而且這樣還會(huì)減慢用戶的體驗(yàn)。
(23)減少Cookie的大小。
有多種理由讓我們應(yīng)用 HYTP Cookie,比如身份驗(yàn)證,或者個(gè)性化設(shè)置Cookie中的信息在服務(wù)端和瀏覽器間被放在HTP頭中交換。盡量減少Cookie的體積對減少用戶獲得響應(yīng)的時(shí)間十分重要。
(24)為部件使用沒有Cookie的域名。
當(dāng)瀏覽器請求一個(gè)靜態(tài)圖片并一同發(fā)送Cookie時(shí),服務(wù)器并不需要這些Cookie。這樣只是毫無益處地創(chuàng)建了多余的網(wǎng)絡(luò)流量。應(yīng)當(dāng)保證靜態(tài)的部件在請求時(shí)沒有攜帶Cookie,所以需要把你的靜態(tài)部件放在另一個(gè)子域名下。
(25)減少DOM的讀取。
利用Javascript讀取DOM元元素很慢,所以為了獲得響應(yīng)更快的頁面,你應(yīng)該:緩存被讀取的元素引用。
脫機(jī)更新節(jié)點(diǎn),然后把它們加加回到樹結(jié)構(gòu)中。避免利用Javascript定位布局。
(26)開發(fā)靈巧的事件處理程序。
如果有太多的事件處理邏輯部署在DOM樹的不同元素上,它們的頻繁執(zhí)行會(huì)拖慢頁面的響應(yīng)速度。
(27)選擇而不是@。
前面提到把CSS應(yīng)當(dāng)放在*頂端來提供預(yù)顯。在E中,放在在頁面底部的@Import和效果是一樣的,所以*好不要用它。
(28)不使用過濾器。
E專有的Alphalmage Loader過濾器是為了解決半透明真色PNG圖片在IE7之前的版本中顯示的問題。這個(gè)過濾器會(huì)在圖片下載時(shí)堵塞住展示。而且它會(huì)消耗內(nèi)存并影響每個(gè)元素而不僅僅是每張圖片,所以這個(gè)過濾器的問題很多。
(29)優(yōu)化圖片。
(30)優(yōu)化CSS精靈。
橫向布局 Sprite中的圖片往往比縱向布局會(huì)減少文件大小。
(31)不要在HTML中縮放圖片。
不要使用大小超過需要的圖片,即使你能夠在HTML中設(shè)置它的屬性。
(32)使用小的可緩存的 Favicon.ico。
Favicon.icon是放在服務(wù)器根目錄的一個(gè)圖片,它麻煩卻不得不處理,因?yàn)榧词鼓悴魂P(guān)心,瀏覽器依然會(huì)請求這張圖片,所以*好不要提供一個(gè)404的錯(cuò)誤。而且由于它是在同一服務(wù)器下的,Cookie也會(huì)隨著每次請求一并發(fā)送。這張圖片同樣干擾下載隊(duì)列,比如在E中,當(dāng)你在onload事件中請求額外的會(huì)在這些額外組件之前下載。
(33)保證組件大小小于25K。
(34)把網(wǎng)站制作的組件打包進(jìn)多部分文檔中。
技術(shù)熱線
400-189-1319
添加微信