用戶體驗技術優化系列(一)

用戶體驗技術優化系列(一)

                                        -----前端優化之減少http請數數

繼上個季度總結了富客戶端開發技術選型後,轉眼又過去三個月了,愛吼網又在經歷三個月的磨練。如果技術路線選型是方向、是戰略,那麼具體的技術實現的技巧就是戰術了,作爲一個自主運營的網站產品來說,方向和戰略固然重要,但戰術則是致勝點,因爲無數先烈已經給我們後來人證明了這點。

產品研發不同於項目研發,項目研發只需要把功能做好,搞定客戶,按照功能規格說明完成驗收就可以了。但做產品,尤其是互聯網的產品,首先要研究的是商業模式和盈利模式,其次做出的產品要能夠快速搶佔市場,而研發的視角也必須要轉到以用戶爲中心上來,需要的是如何吸引用戶?如何留住用戶?如何讓用戶掏錢?所以很自然的,研發的重點就是如何提升用戶體驗

那麼,什麼是用戶體驗?如何做好用體驗呢?中國互聯網最大的產品經理,“企鵝號”航空母艦的掌門人小馬哥,已經通過案例,從產品設計的角度很好地剖析什麼是用戶體驗,以及如何來提高。可以稱得上是互聯網產品設計的開山之作,非常值得產品經理們認真的學習下。我這裏要總結是從技術實現優化的角度來如何提高用戶體驗。系列之一就是,提高網站打開速度。

沒有人願意等待。Google研究表明,網頁打開的最佳速度是2秒,用戶能夠忍受的等待時間在6~8秒,超過12秒以上,頁面還沒打開,99%的用戶不再等待。在同等網絡、硬件資源的情況下,影響網站打開的速度自然主要的就是網頁的http請求數了,所以優化的重點就是如何減少http請求數?

首先,有兩個概念必須先搞清楚,一是iis的併發路數,有的稱爲iis的請求數,它是服務端,也就是web服務器處理能力的一個重要指標,指的是瀏覽器與服務端建立連接的,處理http請求的個數,具體的併發數目可在服務器的系統性能計數器中可以監控到。另一個就是http的請求數,它指的是用戶打開網頁時,瀏覽器向服務器發出的請求,不僅僅訪問網頁是HTTP請求,訪問網站裏的任何資源都是HTTP請求。說到這裏,就會有人好奇了,打開一個網站,豈不是有好多請求數?是的,是這樣,譬如:打開新浪微博首頁,就有74個請求;再打開愛吼網的首頁,就有81個請求。此時細心的人就會發現,新浪微博首頁比愛吼網的首頁還要飽滿些,爲何打開速度卻非常快?其實,這就是我們要優化的重點。

工欲善其事,必先利其器。我們要分析出問題原因,找到一個好工具,就可以事半功倍了,這裏介紹幾種小工具,可以非常方便地查看到打開一個頁面裏的http請求數有哪些,根據瀏覽器不同,常用的有三種方式:

第一種是HttpWatch,它是一個非常強大的網頁數據分析工具,可以集成到IE工具欄裏,最新的版本也可以集成到fireFox裏面了,下圖是愛吼網首頁的請求信息,是不是一目瞭然?

 

第二種是Firebug,它是與Firefox集成在一起的功能強大的web開發工具,還可以實時編輯、調試和監測任何頁面的CSSHTMLJavaScript。分析頁面的http請求只是一個基本功能了,如圖:

 第三種是google推出的瀏覽器chrome自帶的開發人員工具,骨幹至極,且界面非常友好,符合google的一貫風格,按快捷鍵“F12”就出來了:

總結到這裏,其實問題已經分析清楚了,解決起來自然就得心應手。那具體如何減少?客戶端和服務端雙管其下,可以有效地提高網站的打開速度。

在客戶端層面,已經有了標準的優化方案,一是合併文件,將jsCSS合併到一個請求、並壓縮傳到客戶端;二是合併圖片,也就是使用image  sprites技術,將頁面裏的框架圖片,合併到一張圖中,採CSS樣式爲定位;三是去除所有的重定向、frames框架代碼。

在服務端層面,大家關注的可能比較少,就是Keep-Alive技術,通俗地講,就是所謂的持久連接,對於http這種大量的短連接的服務來說,開啓持久連接的好處可以節省大量的TCP連接過程的開銷,同時也可以在一個連接裏能處理多個http的請求,對客戶端而言,也就相對地減少了http的併發請求,提高了網站的打開速度。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章