下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
優(yōu)化網(wǎng)站加載速度的34條法則研究
1.MinimizeHTTPRequests減少HTTP請(qǐng)求圖片、css、script、flash等等這些都會(huì)增加http請(qǐng)求數(shù),減少這些元素的數(shù)量就能減少響應(yīng)時(shí)間。把多個(gè)JS、CSS在可能的情況下寫(xiě)進(jìn)一個(gè)文件,頁(yè)面里直接寫(xiě)入圖片也是不好的做法,應(yīng)該寫(xiě)進(jìn)CSS里,利用CSSsprites將小圖拼合后利用background來(lái)定位。2.UseaContentDeliveryNetwork利用CDN技術(shù)CDN確實(shí)是好東西,8過(guò)服務(wù)器提供商的這項(xiàng)服務(wù)一般是要收費(fèi)的,我以前買(mǎi)的國(guó)內(nèi)空間是有這個(gè)的但是我當(dāng)時(shí)根本不知道啥用,現(xiàn)在沒(méi)了。。。3.AddanExpiresoraCache-ControlHeader設(shè)置頭文件過(guò)期或者靜態(tài)緩存瀏覽器會(huì)用緩存來(lái)減少http請(qǐng)求數(shù)來(lái)加快頁(yè)面加載的時(shí)間,如果頁(yè)面頭部加一個(gè)很長(zhǎng)的過(guò)期時(shí)間,瀏覽器就會(huì)一直緩存頁(yè)面里的元素。不過(guò)這樣如果頁(yè)面里的東西變動(dòng)的話就要改名字了,否則用戶端不會(huì)主動(dòng)刷新,看自己衡量了~這項(xiàng)可以通過(guò)修改.htaccess文件來(lái)實(shí)現(xiàn)。4.GzipComponentsGzip壓縮Gzip格式是一種很普遍的壓縮技術(shù),幾乎所有的瀏覽器都有解壓Gzip格式的能力,而且它可以壓縮的比例非常大,一般壓縮率為85%。壓縮沒(méi)壓縮,可以到這里做下測(cè)試。5.PutStylesheetsattheTop把CSS放頂部讓瀏覽者能盡早的看到網(wǎng)站的完整樣式。6.PutScriptsattheBottom把JS放底部網(wǎng)站呈現(xiàn)完畢后再進(jìn)行功能設(shè)置,當(dāng)然這些JS要在你的加載過(guò)程中不影響內(nèi)容表現(xiàn)。7.AvoidCSSExpressions避免CSSExpressionsCSS表達(dá)式很可怕,這個(gè)只被IE支持的東西執(zhí)行時(shí)候的運(yùn)算量非常大,你移動(dòng)一下鼠標(biāo)它都要進(jìn)行重計(jì)算的,但有時(shí)候?yàn)榱俗鰹g覽器的兼容必須要用到這個(gè)|||IE6去死去死!~8.MakeJavaScriptandCSSExternal將JS和CSS外鏈前面講到了緩存這個(gè)事情,一些較為公用的JS和CSS,我們可以使用外鏈的形式,譬如我就是從Google外鏈來(lái)的Jquery文件,如果我的瀏覽者在瀏覽別的使用了這個(gè)外鏈文件的網(wǎng)站時(shí)已經(jīng)下載并緩存了這個(gè)文件,那么他在瀏覽我的網(wǎng)站的時(shí)候就不需要再進(jìn)行下載了!~9.ReduceDNSLookups減少DNS查找貌似是要減少網(wǎng)站從外部調(diào)用資源,我的Google分析和picasa的外鏈圖片都算在里面了。10.MinifyJavaScriptandCSS減小JS和CSS的體積寫(xiě)JS和CSS都是有技巧的,用最少的代碼實(shí)現(xiàn)同樣的功能,減少空白,增強(qiáng)邏輯性,用縮寫(xiě)方式等等,當(dāng)然也有不少工具也能夠幫你實(shí)現(xiàn)這一點(diǎn)。11.AvoidRedirects避免重定向再寫(xiě)入鏈接時(shí),雖然””和”/”僅有一個(gè)最后的”/”只差,但是結(jié)果是不同的,服務(wù)器需要花時(shí)間把前者重定向?yàn)楹笳呷缓筮M(jìn)行跳轉(zhuǎn),這個(gè)要自己注意,也可以在Apache里用Alias或者mod_rewrite或者DirectorySlash解決。12.RemoveDuplicateScripts刪除重復(fù)腳本重復(fù)調(diào)用的代碼瀏覽器并不會(huì)識(shí)別忽略,而是會(huì)再次運(yùn)算一遍,這當(dāng)然是大大的浪費(fèi)。13.ConfigureETags配置ETags搞不清楚咋回事,總之我是在.htaccess里把它刪除了。14.MakeAjaxCacheable緩存AjaxAjax是實(shí)時(shí)響應(yīng)的,在瀏覽器接收到新的數(shù)據(jù)前,舊的數(shù)據(jù)被緩存,這樣能夠更好的提高效率。15.FlushtheBufferEarly盡早的釋放緩沖當(dāng)用戶進(jìn)行頁(yè)面請(qǐng)求時(shí),服務(wù)器端需要花費(fèi)200到500毫秒時(shí)間來(lái)拼合HTML,將寫(xiě)在head與body之間,釋放緩沖,這樣可以將文件頭先發(fā)送出去,然后再發(fā)送文件內(nèi)容,提高效率。16.UseGETforAJAXRequests用GET方式進(jìn)行AJAX請(qǐng)求Get方法和服務(wù)器只有一次交互(發(fā)送數(shù)據(jù)),而Post要兩次(發(fā)送頭部再發(fā)送數(shù)據(jù))。17.Post-loadComponents延遲加載組件最先加載必須的組件進(jìn)行頁(yè)面初始化,然后再加載其他,YUIImageLoader是很好的例子。18.Preloadcomponents預(yù)加載組件提前加載以后可能用到的東西,和延遲加載并不沖突,它的目的是為后續(xù)請(qǐng)求提供更快的響應(yīng),參見(jiàn)Google首頁(yè)上的CSSsprites應(yīng)用。19.ReducetheNumberofDOMElements減少DOM元素?cái)?shù)量復(fù)雜的頁(yè)面結(jié)構(gòu)意味著更長(zhǎng)的下載及響應(yīng)時(shí)間,更合理更高效的使用標(biāo)簽來(lái)架構(gòu)頁(yè)面,是好的前端的必備條件。20.SplitComponentsAcrossDomains跨域分離組件頁(yè)面組件多個(gè)來(lái)源可以增大你的平行下載量,但注意不要過(guò)多,超過(guò)2-4個(gè)域名會(huì)引起上面說(shuō)到的DNS查找浪費(fèi)。21.MinimizetheNumberofiframes減少iframe數(shù)量需要更有效的利用ifames。iframe優(yōu)點(diǎn):有利于下載緩慢的廣告等第三方內(nèi)容,安全沙箱,并行下載腳本iframe缺點(diǎn):即使為空也會(huì)有較大資源消耗,會(huì)阻止頁(yè)面的onload,非語(yǔ)義22.No404s不要出現(xiàn)404頁(yè)面站點(diǎn)本身里(非搜索結(jié)果)出現(xiàn)404頁(yè)面,無(wú)意義的404頁(yè)面會(huì)影響用戶體驗(yàn)并且會(huì)消耗服務(wù)器資源。23.ReduceCookieSize減小CookieCookie在服務(wù)器及瀏覽器之間的通過(guò)文件頭進(jìn)行交換,盡可能減小Cookie體積,設(shè)置合理的過(guò)期時(shí)間,能夠很好的提高效率。24.UseCookie-freeDomainsforComponents對(duì)組件使用無(wú)Cookie的域名對(duì)靜態(tài)組件的Cookie讀取是一種浪費(fèi),使用另一個(gè)無(wú)Cookie的域名來(lái)存放你的靜態(tài)組件式一個(gè)好方法,或者也可以在Cookie中只存放帶www的域名。25.MinimizeDOMAccess減少DOM的訪問(wèn)次數(shù)JS訪問(wèn)DOM是很慢的,盡量不要用JS來(lái)設(shè)置頁(yè)面布局。26.DevelopSmartEventHandlers開(kāi)發(fā)靈活的事件處理句柄DOM樹(shù)上過(guò)多的元素被加入事件句柄的話,反應(yīng)效率肯定會(huì)低,YUI事件工具有一個(gè)onAvailable方法可以幫助你靈活的設(shè)置DOM事件句柄27.Choose<link>over@import使用<link>而非@import在IE中使用@import就和在頁(yè)面底部用<link>一樣,我們前面說(shuō)要把<link>放頂部的。28.AvoidFilters避免過(guò)濾器的使用如果需要Alpha透明,不要使用AlphaImageLoader,它效率低下而且只對(duì)IE6及以下的版本適用,用PNG8圖片。如果你非要使用,加上_filter以免影響IE7+用戶。29.OptimizeImages優(yōu)化圖片將你的GIF轉(zhuǎn)為PNG8會(huì)是個(gè)減小體積的好辦法,另外有很多方法處理你的JPG及PNG圖片以達(dá)到優(yōu)化效果。30.OptimizeCSSSprites優(yōu)化CSSSprites在CSSSprites中豎直并盡量緊湊的排列圖片,盡量將顏色相似的圖片排在一起,會(huì)減小圖片本身的大小及提高頁(yè)面圖片顯示速度。31.Don’tScaleImagesinHTML不要在HTML中縮放圖片圖片要用多大的就用多大的,1000X1000的圖片被width=”100″height=”100″以后,本身的KB數(shù)是不會(huì)減少的。32.Makefavicon.icoSmallandCacheable縮小favicon.ico的大小并緩存
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期階段性測(cè)試(二)化學(xué) 含答案
- 內(nèi)蒙古自治區(qū)呼和浩特市賽罕區(qū)達(dá)標(biāo)名校2024屆中考聯(lián)考數(shù)學(xué)試卷含解析
- 農(nóng)村征地補(bǔ)償安置合同模板
- 購(gòu)買(mǎi)出售蜜蜂合同模板
- 餐館勞動(dòng)合同模板
- 靜安區(qū)投資咨詢合同模板
- 店鋪轉(zhuǎn)讓違約合同模板
- 購(gòu)買(mǎi)刀具合同模板
- 廠房租合同模板時(shí)間
- 合肥汽車(chē)租賃合同模板
- 微機(jī)原理與單片機(jī)接口技術(shù)課后題答案詳解余發(fā)山楊凌霄主編資料
- 江蘇省硬筆書(shū)法考試專(zhuān)用紙(1-10級(jí))(共5頁(yè))
- 淺談壓減三金的施工企業(yè)中的重要性
- 淺談俄羅斯美術(shù)之發(fā)展
- 建筑電氣部分常用電線管規(guī)格及穿線管徑選擇表
- SolidWorks蝸桿參數(shù)方程式驅(qū)動(dòng)建模
- 河北省建設(shè)工程材料設(shè)備推廣、限制使用和淘汰產(chǎn)品目錄(2010年版)
- 完美版用友U8數(shù)據(jù)字典(包含列定義)
- 護(hù)理文書(shū)質(zhì)控 ppt課件
- 機(jī)械制圖基礎(chǔ)知識(shí)完整版
- (醫(yī)學(xué)PPT課件)ERCP中的操作技巧
評(píng)論
0/150
提交評(píng)論