• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0
            雅虎給出了優(yōu)化網(wǎng)站加載速度的34條法則(包括Yslow規(guī)則22條) 詳細(xì)說(shuō)明,下載轉(zhuǎn)發(fā) ponytail 的譯文(來(lái)自帕蘭映像)。
              1.Minimize HTTP Requests 減少HTTP請(qǐng)求
              圖片、css、script、flash等等這些都會(huì)增加http請(qǐng)求數(shù),減少這些元素的數(shù)量就能減少響應(yīng)時(shí)間。把多個(gè)JS、CSS在可能的情況下寫進(jìn)一個(gè)文件,頁(yè)面里直接寫入圖片也是不好的做法,應(yīng)該寫進(jìn)CSS里,利用 CSS sprites 將小圖拼合后利用background來(lái)定位。
              2.Use a Content Delivery Network 利用CDN技術(shù)
              CDN 確實(shí)是好東西,8過(guò)服務(wù)器提供商的這項(xiàng)服務(wù)一般是要收費(fèi)的,我以前買的國(guó)內(nèi)空間是有這個(gè)的但是我當(dāng)時(shí)根本不知道啥用,現(xiàn)在沒(méi)了。。。
              3.Add an Expires or a Cache-Control Header 設(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.Gzip Components Gzip壓縮
              Gzip格式是一種很普遍的壓縮技術(shù),幾乎所有的瀏覽器都有解壓Gzip格式的能力,而且它可以壓縮的比例非常大,一般壓縮率為85%。壓縮沒(méi)壓縮,可以到 這里 做下測(cè)試。
              5.Put Stylesheets at the Top 把CSS放頂部
              讓瀏覽者能盡早的看到網(wǎng)站的完整樣式。
              6.Put Scripts at the Bottom 把JS放底部
              網(wǎng)站呈現(xiàn)完畢后再進(jìn)行功能設(shè)置,當(dāng)然這些JS要在你的加載過(guò)程中不影響內(nèi)容表現(xiàn)。


              7.Avoid CSS Expressions 避免CSS Expressions
              CSS表達(dá)式很可怕,這個(gè)只被IE支持的東西執(zhí)行時(shí)候的運(yùn)算量非常大,你移動(dòng)一下鼠標(biāo)它都要進(jìn)行重計(jì)算的,但有時(shí)候?yàn)榱俗鰹g覽器的兼容必須要用到這個(gè)||| IE6去死去死!~
              8.Make JavaScript and CSS External 將JS和CSS外鏈
              前面講到了緩存這個(gè)事情,一些較為公用的JS和CSS,我們可以使用外鏈的形式,譬如我就是從Google外鏈來(lái)的Jquery文件,如果我的瀏覽者在瀏覽別的使用了這個(gè)外鏈文件的網(wǎng)站時(shí)已經(jīng)下載并緩存了這個(gè)文件,那么他在瀏覽我的網(wǎng)站的時(shí)候就不需要再進(jìn)行下載了!~
              9.Reduce DNS Lookups 減少DNS查找
              貌似是要減少網(wǎng)站從外部調(diào)用資源,我的Google分析和picasa的外鏈圖片都算在里面了。
              10.Minify JavaScript and CSS 減小JS和CSS的體積
              寫JS和CSS都是有技巧的,用最少的代碼實(shí)現(xiàn)同樣的功能,減少空白,增強(qiáng)邏輯性,用縮寫方式等等,當(dāng)然也有不少工具也能夠幫你實(shí)現(xiàn)這一點(diǎn)。
              11. Avoid Redirects 避免重定向
              再寫入鏈接時(shí),雖然”http://www. today-s-ooxx. com”和”http://www. today-s-ooxx. com/” 僅有一個(gè)最后的”/”只差,但是結(jié)果是不同的,服務(wù)器需要花時(shí)間把前者重定向?yàn)楹笳呷缓筮M(jìn)行跳轉(zhuǎn),這個(gè)要自己注意,也可以在Apache里用Alias 或者mod_rewrite或者DirectorySlash解決。
              12. Remove Duplicate Scripts 刪除重復(fù)腳本
              重復(fù)調(diào)用的代碼瀏覽器并不會(huì)識(shí)別忽略,而是會(huì)再次運(yùn)算一遍,這當(dāng)然是大大的浪費(fèi)。
              13. Configure ETags 配置ETags
              搞不清楚咋回事,總之我是在. htaccess里把它刪除了。
              14. Make Ajax Cacheable 緩存Ajax
              Ajax是實(shí)時(shí)響應(yīng)的,在瀏覽器接收到新的數(shù)據(jù)前,舊的數(shù)據(jù)被緩存,這樣能夠更好的提高效率。
              15. Flush the Buffer Early 盡早的釋放緩沖
              當(dāng)用戶進(jìn)行頁(yè)面請(qǐng)求時(shí),服務(wù)器端需要花費(fèi)200到500毫秒時(shí)間來(lái)拼合HTML,將寫在head與body之間,釋放緩沖,這樣可以將文件頭先發(fā)送出去,然后再發(fā)送文件內(nèi)容,提高效率。
              16. Use GET for AJAX Requests 用GET方式進(jìn)行AJAX請(qǐng)求
              Get 方法和服務(wù)器只有一次交互(發(fā)送數(shù)據(jù)),而 Post 要兩次(發(fā)送頭部再發(fā)送數(shù)據(jù))。
              17. Post-load Components 延遲加載組件
              最先加載必須的組件進(jìn)行頁(yè)面初始化,然后再加載其他,YUI Image Loader 是很好的例子。
              18. Preload components 預(yù)加載組件
              提前加載以后可能用到的東西,和延遲加載并不沖突,它的目的是為后續(xù)請(qǐng)求提供更快的響應(yīng),參見(jiàn)Google首頁(yè)上的CSS sprites應(yīng)用。
              19. Reduce the Number of DOM Elements 減少DOM元素?cái)?shù)量
              復(fù)雜的頁(yè)面結(jié)構(gòu)意味著更長(zhǎng)的下載及響應(yīng)時(shí)間,更合理更高效的使用標(biāo)簽來(lái)架構(gòu)頁(yè)面,是好的前端的必備條件。
              20. Split Components Across Domains 跨域分離組件
              頁(yè)面組件多個(gè)來(lái)源可以增大你的平行下載量,但注意不要過(guò)多,超過(guò)2-4個(gè)域名會(huì)引起上面說(shuō)到的DNS查找浪費(fèi)。
              21. Minimize the Number of iframes 減少iframe數(shù)量
              需要更有效的利用 ifames。 
              iframe 優(yōu)點(diǎn):有利于下載緩慢的廣告等第三方內(nèi)容,安全沙箱,并行下載腳本 
              iframe 缺點(diǎn):即使為空也會(huì)有較大資源消耗,會(huì)阻止頁(yè)面的onload,非語(yǔ)義
              22. No 404s 不要出現(xiàn)404頁(yè)面
              站點(diǎn)本身里(非搜索結(jié)果)出現(xiàn)404頁(yè)面,無(wú)意義的404頁(yè)面會(huì)影響用戶體驗(yàn)并且會(huì)消耗服務(wù)器資源。
              23. Reduce Cookie Size 減小Cookie
              Cookie在服務(wù)器及瀏覽器之間的通過(guò)文件頭進(jìn)行交換,盡可能減小Cookie體積,設(shè)置合理的過(guò)期時(shí)間,能夠很好的提高效率。
              24. Use Cookie-free Domains for Components 對(duì)組件使用無(wú)Cookie的域名
              對(duì)靜態(tài)組件的Cookie讀取是一種浪費(fèi),使用另一個(gè)無(wú)Cookie的域名來(lái)存放你的靜態(tài)組件式一個(gè)好方法,或者也可以在Cookie中只存放帶www的域名。
              25. Minimize DOM Access 減少DOM的訪問(wèn)次數(shù)
              JS訪問(wèn)DOM是很慢的,盡量不要用JS來(lái)設(shè)置頁(yè)面布局。
              26. Develop Smart Event Handlers 開(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. Avoid Filters 避免過(guò)濾器的使用
              如果需要Alpha透明,不要使用AlphaImageLoader,它效率低下而且只對(duì)IE6及以下的版本適用,用PNG8圖片。如果你非要使用,加上_filter以免影響IE7+用戶。
              29. Optimize Images 優(yōu)化圖片
              將你的GIF轉(zhuǎn)為PNG8會(huì)是個(gè)減小體積的好辦法,另外有很多方法處理你的JPG及PNG圖片以達(dá)到優(yōu)化效果。
              30. Optimize CSS Sprites 優(yōu)化CSS Sprites
              在CSS Sprites中豎直并盡量緊湊的排列圖片,盡量將顏色相似的圖片排在一起,會(huì)減小圖片本身的大小及提高頁(yè)面圖片顯示速度。
              31. Don’t Scale Images in HTML 不要在HTML中縮放圖片
              圖片要用多大的就用多大的,1000X1000的圖片被width=”100″ height=”100″以后,本身的KB數(shù)是不會(huì)減少的。
              32. Make favicon. ico Small and Cacheable 縮小favicon. ico的大小并緩存它
              站點(diǎn)的瀏覽器ICO應(yīng)該不是經(jīng)常換吧,那就長(zhǎng)時(shí)間的緩存它,并且最好控制在1K以下。
              33. Keep Components under 25K 保證組件在25K以下
              iPhone不能緩存25K以上的組件,并且這還是要在被壓縮前。
              34. Pack Components into a Multipart Document 將組件打包進(jìn)一個(gè)多部分的文檔中
              就好像在郵件中加入附件一樣,一個(gè)HTTP請(qǐng)求就夠了,但是這一技術(shù)需要確保你的代理支持,iPhone就不支持。
            from:
            posted on 2010-02-28 19:07 chatler 閱讀(190) 評(píng)論(0)  編輯 收藏 引用 所屬分類: website

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺(jué)這個(gè)博客還是不錯(cuò),雖然做的東西和我不大相關(guān),覺(jué)得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产精品久久自在自线观看| 日日狠狠久久偷偷色综合免费| 亚洲国产精品综合久久网络| 婷婷久久综合九色综合九七| 日韩精品国产自在久久现线拍 | 品成人欧美大片久久国产欧美| 国产精品久久久久久一区二区三区| 亚洲精品无码专区久久同性男| 国产亚洲成人久久| 久久国产精品一区| 日本强好片久久久久久AAA| 97久久精品午夜一区二区| 久久精品国产亚洲AV香蕉| 久久久久国产| 婷婷久久精品国产| 综合网日日天干夜夜久久 | 亚洲精品无码久久久久久| 国产成人精品久久二区二区| 91久久精一区二区三区大全| 狠狠色丁香久久综合五月| 久久99国产精品久久99小说| 久久电影网2021| 久久精品二区| 热99RE久久精品这里都是精品免费| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久成人影院精品777| 国产午夜精品久久久久九九电影| 久久精品国产亚洲Aⅴ蜜臀色欲| 欧美日韩精品久久久免费观看| 欧美日韩精品久久久免费观看| 久久久久人妻一区精品色| 丁香久久婷婷国产午夜视频| 久久精品综合网| 久久久久人妻精品一区三寸蜜桃| 香蕉aa三级久久毛片| 午夜不卡久久精品无码免费| 久久久久久综合一区中文字幕| 欧美激情精品久久久久久久九九九 | 亚洲精品99久久久久中文字幕| 亚洲第一极品精品无码久久| 草草久久久无码国产专区|