前段時間,經常有人跟我說起為什么有的網站打開速度會很慢,等它加載完成需要一分鐘左右,而有的打開速度很快,刷的一下就出來了。在相同的帶寬下為什么會出現這種現象呢?這與你的網站的服務器、網站首頁的體積等有很大關系。
一、優化圖片
幾乎沒有哪個網頁上是沒有圖片的。如果你經歷過56K貓的年代,你一定不會很喜歡有大量圖片的網站。因為加載那樣一個網頁會花費大量的時間。即使在現在,網絡帶寬有了很多的提高,56K貓逐漸淡出,優化圖片以加快網頁速度還是很有必要的。優化圖片包括減少圖片數、降低圖像質量、使用恰當的格式。
1、減少圖片數:去除不必要的圖片。
2、降低圖像質量:如果不是很必要,嘗試降低圖像的質量,尤其是jpg格式,降低5%的質量看起來變化不是很大,但文件大小的變化是比較大的。
3、使用恰當的格式:請參閱下一點。
因此,在上傳圖片之前,你需要對圖片進行編輯,如果你覺得photoshop太麻煩,可以試試一些在線圖片編輯工具。懶得編輯而又想圖片有特殊的效果?可以試試用過調用javascript來實現圖片特效。
二、圖像格式的選擇
一般在網頁上使用的圖片格式有三種,jpg、png、gif。三種格式的具體技術指標不是這篇文章探討的內容,我們只需要知道在什么時候應該使用什么格式,以減少網頁的加載時間。
1、JPG:一般用于展示風景、人物、藝術照的攝影作品。有時也用在電腦截屏上。
2、GIF:提供的顏色較少,可用在一些對顏色要求不高的地方,比如網站logo、按鈕、表情等等。當然,gif的一個重要的應用是動畫圖片。就像用Lunapic制作的倒映圖片。
3、PNG:PNG格式能提供透明背景,是一種專為網頁展示而發明的圖片格式。一般用于需要背景透明顯示或對圖像質量要求較高的網頁上。
三、優化CSS
CSS疊層樣式表讓網頁加載起來更高效,瀏覽體驗也得到提高。有了CSS,表格布局的方式可以退休了。
但有時我們在寫CSS的時候會使用了一些比較羅嗦的語句,比如這句:margin-top: 10px; margin-right: 20px;margin-bottom: 10px;margin-left: 20px;你可以將它簡化為:margin: 10px 20px 10px 20px;
又或者這句:A paragraph of decorated text
Second paragraph
Third paragraph
Forth paragraph
可以用div來包含:
A paragraph of decorated text
Second paragraph
Third paragraph
Forth paragraph
簡化CSS能去除冗余的屬性,提高運行效率。如果你寫好CSS后懶得去做簡化,你可以使用一些在線的簡化CSS工具,比如CleanCSS。
四、網址后加斜杠
有些網址,比如http://www.managercn.com/dongwangzhanjianshe,當服務器收到這樣一個地址請求的時候,它需要花費時間去確定這個地址的文件類型。如果sucai是一個目錄,不妨在網址后多加一個斜杠,讓其變成http://www.managercn.com/dongwangzhanjianshe/,這樣服務器就能一目了然地知道要訪問該目錄下的index或default文件,從而節省了加載時間。
五、標明高度和寬度
這點很重要,但很多人由于懶惰或其它原因,總是將其忽視。當你在網頁上添加圖片或表格時,你應該指定它們的高度和寬度,也就是height和width參數。如果瀏覽器沒有找到這兩個參數,它需要一邊下載圖片一邊計算大小,如果圖片很多,瀏覽器需要不斷地調整頁面。這不但影響速度,也影響瀏覽體驗。
下面是一個比較友好的圖片代碼:alt="moon image" /> 當瀏覽器知道了高度和寬度參數后,即使圖片暫時無法顯示,頁面上也會騰出圖片的空位,然后繼續加載后面的內容。從而加載時間快了,瀏覽體驗也更好了。
六、減少http請求
當瀏覽者打開某個網頁,瀏覽器會發出很多對象請求(圖像、腳本等等),視乎網絡延時情況,每個對象加載都會有所延遲。如果網頁上對象很多,這可以需要花費大量的時間。
因此,要為http請求減負。如何減負?
1、去除一些不必要的對象。
2、將臨近的兩張圖片合成一張。
3、合并CSS 。
七、其它小技巧
1、去除不必要加載項。
2、如果在網頁上嵌入了其它網站的widget,如果有選擇余地,一定要選擇速度快的。
3、盡量用圖片代替flash,這對SEO也有好處。
4、有些內容可以靜態化就將其靜態化,以減少服務器的負擔。
5、統計代碼放在頁尾。
我們在瀏覽過程中,發現網頁打開的速度不是很理想,當然一個原因是服務器不穩定以及網絡速度較慢,另一個主要原因是我們在編排布局時使用了大表格,雖然這樣比較利于布局,但是不利于網頁的打開速度。對此,總結了一些切實可行的方法,這樣在擬制作網頁時,可以令你的網頁打開速度大大提高。
一、不要將整個頁面內容放到一個Table中
在網頁設計過程中,將整個頁面用一個表格劃分為如下的形狀:
這樣,頭部導航,底部版權信息、聯系方式,左邊導航友情鏈接都可以通過文件包含到網頁中,頁面布局方便,也減少了相同網頁的重復制作,而且能做到一改全改,十分方便。但是,這種網站的
顯示速度是絕對慢的。因為Table要等里面所有的內容都加載完畢后才顯示出來的,如果某些內容無法訪問,就會拖延整個頁面的訪問速度。
這個問題其實在我們上WEB開發的課上,老師已經提到過,正確的做法是:將內容分割到幾個具有相同格局的Table中去,不要全都放到一個Table里。
二、盡量使用靜態HTML頁面
眾所周知,ASP、PHP、JSP等程序實現了網頁信息的動態交互,運行起來的確非常方便,因為它們的數據交互性好,能很方便地存取、更改數據庫的內容,使網站“動”起來,如:論壇、留言板等。
但是這類程序必須先由服務器執行處理后,生成HTML頁面,然后再“送”往客戶端瀏覽,這就不得不耗費一定的服務器資源。過多地使用這類程序,網頁顯示速度肯定會慢,所以盡量使用靜態的HTML頁
面。
我們制作的網站,主要是向用戶提供信息,不需要和用戶很多交流,所以我們主要是采用靜態頁面。只有在進行文件包括時采用了后綴名為.shtnl的網頁。
三、網頁盡量精簡
我們瀏覽網頁實際上是將服務器上的網頁內容下載到本地硬盤,再用瀏覽器解釋查看的。下載網頁的快慢在顯示速度上占了很大比重,所以,網頁本身所占的空間越小,那么瀏覽速度就會越快。
這就要求在做網頁的時候遵循一切從簡的原則,如:刪除無用代碼,不要使用太大的Flash動畫、圖片格式盡量使用.gif等等。
可以嘗試使用gif和Jpeg交互格式的圖象,因為交互格式的圖像是分級顯示出來的--首先以很低的分辨率顯示,然后逐步提高分辨率,直至最后達到正常顯示--這種方式有時候會使較大的圖像看起來好象
裝載得快一些,實際上并非如此,但這是一種有益的錯覺。這樣也便于讀者在圖像裝載的過程中看到它的模樣,如果他們不喜歡或不想看的話就有機會中斷傳輸或轉向別的地方。
四、注意友情鏈接
網站之間互相做鏈接可以增加網站的宣傳效果,同時也方便了網站的訪問者。一種方法是做LOGO圖片鏈接,這樣更能準確地描述網站的主題和定位,宣傳效果會大大的增強,但圖片鏈接做得太多,
必然會影響網頁的顯示速度。
所以,做友情鏈接時應盡量考慮做以下幾點:
1、多做文字鏈接:做文字鏈接是不會延遲網頁速度的。
2、如果友情鏈接一定要出現在首頁,請將鏈接所在的整個Table放到頁面的最下方,因為頁面是由上到下逐行顯示的,將其放到頁面的最下方,不會延遲其他內容的顯示。