一、我們需達(dá)解決的麻煩
減少http請求數(shù)。 減少http請求數(shù)有什么好處
降低服務(wù)器跟客戶端的建立和消除http請求和響應(yīng)header的開銷
減少服務(wù)器為http連接的進(jìn)程和線程的開銷,如果可能,還會包括gzip壓縮的cpu開銷。
減小被請求文件大小, 減少請求數(shù)據(jù)占用的網(wǎng)絡(luò)帶寬。
讓用戶更快的看到想要的結(jié)果。
提高客戶端渲染速度。
讓瀏覽器同時能請求更多的數(shù)據(jù)。
提高服務(wù)器相應(yīng)速度。
通過版本化控制客戶端cache。
二、如何解決我們的麻煩
1、如何減少http請求數(shù)
合并js文件跟css文件。
合并框架圖片以及相對變動較少的圖片成一張,通過css背景切割來完成渲染,比如:加速圖片顯示。
合理使用本地cache來緩存js/css/image。
合理使用userdata緩存js文件,對于ff用戶可以單獨請求服務(wù)器,這樣能解決80%用戶的問題。代碼可以蓉兒(meizz)的js framework1(標(biāo)注1)。
把js跟css合并成一個文件
2、減小被請求文件大小,減少請求數(shù)據(jù)占用的網(wǎng)絡(luò)帶寬
壓縮js體積:刪除js中空白換行,注釋,混淆把長變量換成短變量;
壓縮css體積:刪除css注釋、寫法盡量用簡寫;
使用(x)html+css方式搭建網(wǎng)站結(jié)構(gòu),提高css重用性,來減少(x)html文件大小;
使用服務(wù)器端gzip壓縮js/ css文件,縮小傳輸文件大小。附注:apache1跟apache2的gzip的效率跟方式不一樣的,根據(jù)需要自行選擇。
嗷嗷補充說明:壓縮、合并js和css都由程序處理。而不是自己手動去縮刪,不然不利于后期維護(hù)。
3、讓用戶更快的看到想要的結(jié)果
用戶對于一個站點的白頁的忍受時間根據(jù)統(tǒng)計是8-12秒。白頁的產(chǎn)生可能由于各種原因引起,我們能做的就是怎么讓用戶能變的稍微能等待更久。
方案1:多做一個引導(dǎo)頁,讓用戶體會其中的變化
案例:mail。aol。com中的loading引導(dǎo)頁
方案2:優(yōu)先載入頁面結(jié)構(gòu)以及結(jié)構(gòu)圖片,后一步載入當(dāng)前頁面數(shù)據(jù),再后一步載入iframe,flash等數(shù)據(jù)。讓用戶盡早的看到被打開頁面的希望。
4、提高客戶端渲染速度
這個問題就比較泛泛了,影響客戶端的渲染速度有多方面的,主要目的都是提高程序方面的效率。
對于大索引的結(jié)構(gòu),盡可能的少用索引訪問,能用訪問兄弟節(jié)點的方式盡可能用訪問兄弟節(jié)點的方式。
字符串拼接盡可能用數(shù)組方式
大規(guī)模添加節(jié)點數(shù)據(jù),請不要使用appendchild方式,盡量使用類似innerhtml的insertadjacenthtml方式,ff下需修正(標(biāo)注1)
5、讓瀏覽器同時能請求更多的數(shù)據(jù)。
瀏覽器默認(rèn)只是支持單域名同時有兩個http請求,使用多域名將能把請求數(shù)提高,在網(wǎng)絡(luò)條件優(yōu)良的情況下,能更快的下載數(shù)據(jù),呈現(xiàn)結(jié)果。
6、提高服務(wù)器相應(yīng)速度
對于需快速響應(yīng)的文件,把其放入快速響應(yīng)的服務(wù)器,應(yīng)該是不錯的方案,優(yōu)化方案請系統(tǒng)儲備組提供。
7、通過版本化控制客戶端cache
通常js/css這類文件改動比較頻繁,但是為了加載速度變快,我們有可能需要設(shè)定這類文件的過期時間為幾天后,這樣我們碰到的問題就是,如何及時更新這些在cache的文件?
通過一個簡單的配置,通過修改js的版本來及時告訴瀏覽器,這些文件必須重新請求了,不要繼續(xù)使用瀏覽器cache中的數(shù)據(jù)。 方案有好幾個:
手動改這些js的文件名
手動改這些js的路徑
通過url rewrite方式來改重定位js路徑
通過一個在高響應(yīng)服務(wù)器上的一個js配置告知頁面,這個頁面該鏈接哪些js文件
大版本不變,小版本不斷追加,等一定時間后,統(tǒng)一更新,高效利用cache
天津做網(wǎng)站之營銷型網(wǎng)站建設(shè)如何來提升品質(zhì)搭建企業(yè)網(wǎng)站需要注意哪些地方?旅游小程序有什么開發(fā)價值?濟南到烏海物流專線蕪湖到雞西物流專線鄭州到乳山物流專線東莞到南陽物流專線我們教你如何提高網(wǎng)站的ALEXA排名?