讓網站建設程序編寫精益於細節

  這個冬天,給人印象最深的莫過於兩個網站,一個是12306火車票購買網站,一個是小米手機的官方網站。兩個網站有個共同特征,就是並發訪問高峰期速度慢的讓人難以忍耐。其實何止這兩個網站,在數以萬計的並發訪問面前,至少會有90%以上網站會掛掉。哪怕是平時訪問人數不多的時候,很多網站打開速度已經讓人不堪忍受。影響網站加載速度的原因很多,比如服務器的配置、機房的帶寬質量以及互聯線路等等,但是筆者感覺,網站程序編寫以及資源整合也極大的影響著網站運行速度,隻是很多人對比並沒有給予足夠的重視。

  一、合並網站資源

  為什麼在高並發的時候,鐵道部車票預訂網站會如此不給力呢?有好事者對此網站進行瞭深入分析,大致結論是,網站在提交訂單時向服務器發送的請求太多,加上本來瞬間訪問流量就很大,所以導致訪問請求堵塞。其實這個問題在很多網站上都存在,尤其是中小公司的企業網站。知道瞭問題的所在,解決起來也就得心應手瞭,應對的辦法就是減少想服務器頻發發送請求,而合並資源就是最為有效的一種方式。這樣雖然同一個調用文件每次加載的時間會適當延長,但是上行下載的次數減少瞭,提高瞭代碼運行效率。

  一般的網站需要外部加載到資源大致有三種,分別是CSS樣式表、JS腳本程序以及圖片素材。而這個三個均可以進行適當合並,最大程度上降低網站的請求次數。CSS隻要目的是控制網站樣式的,如果將所有的CSS合並到一個文件上,一定要將其置於

  元標簽內,其目的是讓網站首先加載CSS。JS以及其它的一些腳本程序,是為瞭實現網頁的某些特效而編寫的,調用位置可以適當靠後,但是需要明白的是,JS不同於CSS並不是所有的JS都可以合並到一起,引用位置也很關鍵,否則可能會導致網站一些功能失效。圖片素材合並多見於網站背景,通過二維坐標調用圖片,但是需要註意即便如此,合並後的圖片大小也要控制在2M以內,否則會因加載時間過長帶來不好的用戶體驗。

  二、壓縮網頁元素

  如果網站資源本來就很大,通過合並可以減少時間的,但是仍舊無法從根本上解決問題。因為合並網站資源的主要是減少客戶端向服務器的請求次數,網站資源大小是絲毫沒有變化的。所以對網頁元素進行必要壓縮,是提升網站訪問速度的另一個捷徑。壓縮網頁元素第一種方法是重寫網站代碼,要知道采用DIV+CSS佈局網站程序,會比Table佈局可以減少不少代碼。未來當HTML5技術普及後,網站代碼容積會得到進一步壓縮,避免代碼冗餘是減少網站體積的一個絕好方法,尤其是刪除一些不必要的費碼。

  現在很多網站加載速度慢,與網站所是用的圖片素材過大有直接關系。如沒有特殊要求,但就顯示而言網站圖片顯示分辨率控制在72dpi可以,即使是圖片顯示質量稍許差些,總比半天無法加載帶給用戶的感覺要好很多。所以,如果可能請將網站圖片大小控制在200Kb以下,在網站上盡可能少用一些高分辨率高質量的圖片素材。通過服務器開啟Gzip壓縮,也是降低網頁體積的一個好辦法,筆者就有親身體驗,50K左右大小的網頁,開啟Gzip壓縮後可以控制在10K左右。網頁壓縮率達到60%以上,這樣網站運行快速如飛就不足為奇瞭。

  三、調整代碼位置

  代碼位置也會影響到網站加載速度?答案是肯定的,我們舉個簡單的例子,現在很多網站都有統計程序。其大多通過調用外部js實現,一般都是將統計程序置於網站底部,其目的是避免因站外JS加載速度太慢,影響到整個網站的用戶體驗。這就很明顯瞭,如果將一些體積大的腳本程序放置在網頁的頭部,勢必會拖慢真個網站加載速度的。調整網站代碼位置有兩個需要堅持的原則,其一是網站外部調用的代碼盡可能的放置在後面加載,因為外部代碼具有不可控性;其二是,提及比較大的腳本程序放置在程序後面加載,尤其是一些JS程序,在不影響網站效果的情況下,請盡可能調整到其它代碼後面加載執行。

  還有一個問題雖與代碼位置無關,但是也是很容易被很多程序人員忽視的,就是網頁的渲染問題。比如我們CSS代碼裡面有個和,在頁面視覺表現形式上兩個沒有任何區別,但是對於瀏覽器解釋渲染是有區別的。代表著不存在邊框,不需要進行邊框渲染,但是說明有邊框,隻是邊框的寬度是0而已,實際上瀏覽器在解釋代碼的時候,會進行一次也沒渲染。類似的還有網站圖片大小的控制,很多程序員認為如果圖片尺寸剛好與標準一致,就不需要對圖片的高度和寬度需要定義,這樣做會讓代碼足夠簡潔,其實這樣理解是錯誤的,沒有定義就意味著瀏覽器要自行識別然後渲染展現,而這一過程是需要時間的。

  作為專業的網站建設與網絡營銷機構,武漢網站建設公司上智網絡一直認為,網站的用戶體驗和營銷效果與網站速度息息相關,尤其是在人心浮躁的現在。所以在網絡營銷日益普及的今天,大多數人更註重網站給用戶感覺。有一個不容忽視的事實是,現在無論中國電信還是中國聯通以及其他寬帶運營商,都將帶快速率提上日程。這就意味著普通網民的網速會越來越快,網站速度快或者慢對網絡營銷效果的影響必將越來越明顯。有些時候,哪怕是別人的網站先於半秒鐘打開,也許就會讓自己喪失一次營銷的機會。所以,如果有可能請想方設法的提升網站加載速度,哪怕是100毫秒甚至更短的瞬間。

  文章轉載地址:/News/info/id/1189