婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 網頁速度優化一覽

網頁速度優化一覽

熱門標簽:南寧銷售外呼系統線路商 邵陽市地圖標注app 縣域地圖標注點 齊齊哈爾地圖標注地點 吃雞地圖標注設置 400電話申請好不好 電銷機器人外呼失敗怎么回事 400電話座機怎么辦理 天津銷售電銷機器人公司

相信互聯網已經越來越成為人們生活中不可或缺的一部分。ajax,flex等等富客戶端的應用使得人們越加“幸福”地體驗著許多原先只能在C/S實現的功能。比如Google機會已經把最基本的office應用都搬到了互聯網上。當然便利的同時毫無疑問的也使頁面的速度越來越慢。自己是做前端開發的,在性能方面,根據yahoo的調查,后臺只占5%,而前端高達95%之多,其中有88%的東西是可以優化的。

以上是一張web2.0頁面的生命周期圖。工程師很形象地講它分成了“懷孕,出生,畢業,結婚”四個階段。如果在我們點擊網頁鏈接的時候能夠意識到這個過程而不是簡單的請求-響應的話,我們便可以挖掘出很多細節上可以提升性能的東西。今天聽了淘寶小馬哥的一個對yahoo開發團隊對web性能研究的一個講座,感覺收獲很大,想在blog上做個分享。

相信很多人都聽過優化網站性能的14條規則。更多的信息可見developer.yahoo.com

1. 盡可能的減少 HTTP 的請求數 [content]
2. 使用 CDN(Content Delivery Network) [server]
3. 添加 Expires 頭(或者 Cache-control ) [server]
4. Gzip 組件 [server]
5. 將 CSS 樣式放在頁面的上方 [css]
6. 將腳本移動到底部(包括內聯的) [javascript]
7. 避免使用 CSS 中的 Expressions [css]
8. 將 JavaScript 和 CSS 獨立成外部文件 [javascript] [css]
9. 減少 DNS 查詢 [content]
10. 壓縮 JavaScript 和 CSS (包括內聯的) [javascript] [css]
11. 避免重定向 [server]
12. 移除重復的腳本 [javascript]
13. 配置實體標簽(ETags) [css]
14. 使 AJAX 緩存 


在firefox下有一個插件yslow,集成在firebug中,你可以用它很方便地來看看自己的網站在這幾個方面的表現。


這是對用yslow對我的網站西風坊測評的結果,很遺憾,只有51分。呵呵。中國各大網站的分值都不高,剛測了一下,新浪和網易都是31分。然后yahoo(美國)的分值確實97分!可見yahoo在這方面作出的努力。從他們總結的這14條規則,已經現在又新增加的20個點來看,有很多細節我們真得是怎么都不會去想,有些做法甚至是有些“變態”了。

第一條、盡可能的減少 HTTP 的請求數 (Make Fewer HTTP Requests )

http請求是要開銷的,想辦法減少請求數自然可以提高網頁速度。常用的方法,合并css,js(將一個頁面中的css和js文件分別合并)以及 Image maps和css sprites等。當然或許將css,js文件拆分多個是因為css結構,共用等方面的考慮。阿里巴巴中文站當時的做法是開發時依然分開開發,然后在后臺對js,css進行合并,這樣對于瀏覽器來說依然是一個請求,但是開發時仍然能還原成多個,方便管理和重復引用。yahoo甚至建議將首頁的css和js 直接寫在頁面文件里面,而不是外部引用。因為首頁的訪問量太大了,這么做也可以減少兩個請求數。而事實上國內的很多門戶都是這么做的。

而css sprites是指只用將頁面上的背景圖合并成一張,然后通過css的background-position屬性定義不過的值來取他的背景。淘寶和阿里巴巴中文站目前都是這樣做的。有興趣的可以看下淘寶和阿里巴巴的背景圖。

http://www.csssprites.com/ 這是個工具網站,它可以自動將你上傳的圖片合并并給出對應的background-position坐標。并將結果以png和gif的格式輸出。

第二條、使用CDN(內容分發網絡): Use a Content Delivery Network

說實話,對于CDN這一塊自己并不是很了解,簡單地講,通過在現有的Internet中增加一層新的網絡架構,將網站的內容發布到最接近用戶的 cache服務器內,通過DNS負載均衡的技術,判斷用戶來源就近訪問cache服務器取得所需的內容,杭州的用戶訪問近杭州服務器上的內容,北京的訪問近北京服務器上的內容。這樣可以有效減少數據在網絡上傳輸的時間,提高速度。更詳細地內容大家可以參考百度百科上對于CDN的解釋。Yahoo!把靜態內容分布到CDN減少了用戶影響時間20%或更多。

CDN技術示意圖:

CDN組網示意圖:


第三條、 添加Expire/Cache-Control 頭:Add an Expires Header

現在越來越多的圖片,腳本,css,flash被嵌入到頁面中,當我們訪問他們的時候勢必會做許多次的http請求。其實我們可以通過設置Expires header 來緩存這些文件。Expire其實就是通過header報文來指定特定類型的文件在覽器中的緩存時間。大多數的圖片,flash在發布后都是不需要經常修改的,做了緩存以后這樣瀏覽器以后就不需要再從服務器下載這些文件而是而直接從緩存中讀取,這樣再次訪問頁面的速度會大大加快。一個典型的HTTP 1.1協議返回的頭信息:
HTTP/1.1 200 OK
Date: Fri, 30 Oct 1998 13:19:41 GMT
Server: Apache/1.3.3 (Unix)
Cache-Control: max-age=3600, must-revalidate
Expires: Fri, 30 Oct 1998 14:19:41 GMT
Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT
ETag: “3e86-410-3596fbbc”
Content-Length: 1040
Content-Type: text/html

其中通過服務器端腳本設置Cache-Control和Expires可以完成。

如,在php中設置30天后過期:

<!--pHeader("Cache-Control: must-revalidate");$offset = 60 * 60 * 24 * 30;$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";Header($ExpStr);-->也可以通過配置服務器本身完成,這些偶就不是很清楚了,呵呵。想了解跟多的朋友可以參考http://www.web-caching.com/

據我了解,目前阿里巴巴中文站的Expires過期時間是30天。不過期間也有過問題,特別是對于腳本過期時間的設置還是應該仔細考慮下,不然相應的腳本功能更新后客戶端可能要過很長一段時間才能“感知”到這樣的變化。以前做[suggest項目] 的時候就遇到過這個問題。所以,哪些應該緩存,哪些不該緩存還是應該仔細斟酌一番。

第四條、啟用Gzip壓縮:Gzip Components

Gzip的思想就是把文件先在服務器端進行壓縮,然后再傳輸。這樣可以顯著減少文件傳輸的大小。傳輸完畢后瀏覽器會重新對壓縮過的內容進行解壓縮,并執行。目前的瀏覽器都能“良好”地支持 gzip。不僅瀏覽器可以識別,而且各大“爬蟲”也同樣可以識別,各位seoer可以放下心了。而且gzip的壓縮比例非常大,一般壓縮率為85%,就是說服務器端100K的頁面可以壓縮到25K左右再發送到客戶端。具體的Gzip壓縮原理大家可以參考csdn上的《gzip壓縮算法》 這篇文章。雅虎特別強調, 所有的文本內容都應該被gzip壓縮: html (php), js, css, xml, txt… 這一點我們網站做得不錯,是一個A。以前我們的首頁也并不是A,因為首頁上還有很多廣告代碼投放的js,這些廣告代碼擁有者的網站的js沒有經過gzip壓縮,也會拖累我們網站。

以上三點大多屬于服務器端的內容,本人也是粗淺地了解而已。說得不對的地方有待各位指正。

第五條、將css放在頁面最上面 ( Put Stylesheets at the Top)

將css放在頁面最上面,這是為什么?因為 ie,firefox等瀏覽器在css全部傳輸完全之前不會去渲染任何的東西。理由誠如小馬哥說得那樣很簡單。css,全稱Cascading Style Sheets (層疊樣式表單)。層疊即意味這后面的css可以覆蓋前面的css,級別高的css可以覆蓋級別低的css。在[css之!important] 這篇文章的最下面曾簡單地提到過這層級關系,這里我們只需要知道css可以被覆蓋的。既然前面的可以被覆蓋,瀏覽器在他完全加載完畢之后再去渲染無疑也是合情合理的很多瀏覽器下,如IE,把樣式表放在頁面的底部的問題在于它禁止了網頁內容的順序顯示。瀏覽器阻止顯示以免重畫頁面元素,那用戶只能看到空白頁了。Firefox不會阻止顯示,但這意味著當樣式表下載后,有些頁面元素可能需要重畫,這導致閃爍問題。所以我們應該盡快讓css加載完畢

順著這層意思,如果我們再細究的話,其實還有可以優化的地方。比如本站上面包含的兩個css文件,<link rel=“stylesheet” rev=“stylesheet” href=“http://www.space007.com/themes/google/style/google.css” type=“text/css” media=“screen” /> 和<link rel=“stylesheet” rev=“stylesheet” href=“http://www.space007.com/css/print.css” type=“text/css” media=“print” />。從media就可以看出第一個css是針對瀏覽器的,第二個css文件是針對打印樣式的。從用戶的行為習慣上來將,要打印頁面的動作一定是發生在頁面頁面顯示出來之后的。所以比較好的方法應該是在頁面加載完畢之后再動態地為這張頁面加上針對打印設備的css,這樣又可以提高一點速度。(哈哈)

第六條、將script放在頁面最下面 (Put Scripts at the Bottom )

將腳本放在頁面最下面的目的有那么兩點: 1、因為防止script腳本的執行阻塞頁面的下載。在頁面loading的過程中,當瀏覽器讀到js執行語句的時候一定會把它全部解釋完畢后在會接下來讀下面的內容。不信你可以寫一個js死循環看看頁面下面的東西還會不會出來。(setTimeout 和 setInterval的執行有點類似于多線程,在相應的響應時間之前也會繼續下面的內容渲染。)瀏覽器這么做的邏輯是因為js隨時可能執行 location.href或是其他可能完全中斷此頁面過程的函數,即如此,當然得等他執行完畢之后再加載咯。所以放在頁面最后,可以有效減少頁面可視元素的加載時間。        2、腳本引起的第二個問題是它阻塞并行下載數量。HTTP/1.1規范建議瀏覽器每個主機的并行下載數不超過2個(IE只能為2個,其他瀏覽器如ff等都是默認設置為2個,不過新出的ie8可以達6個)。因此如果您把圖像文件分布到多臺機器的話,您可以達到超過2個的并行下載。但是當腳本文件下載時,瀏覽器不會啟動其他的并行下載。

當然對各個網站來說,把腳本都放到頁面底部加載的可行性還是值得商榷的。就比如阿里巴巴中文站的頁面。很多地方有內聯的js,頁面的顯示嚴重依賴于此,我承認這和無侵入腳本的理念相差甚遠,但是很多“歷史遺留問題”卻不是那么容易解決的。

第七條、避免在CSS中使用Expressions (Avoid CSS Expressions )

不過這樣就多了兩層無意義的嵌套,肯定不好。還需要一個更好的辦法。

第八條、把javascript和css都放到外部文件中 (Make JavaScript and CSS External )

這點我想還是很容易理解的。不僅從性能優化上會這么做,用代碼易于維護的角度看也應該這么做。把css和js寫在頁面內容可以減少2次請求,但也增大了頁面的大小。如果已經對css和js做了緩存,那也就沒有2次多余的http請求了。當然,我在前面中也說過,有些特殊的頁面開發人員還是會選擇內聯的css和js文件。

第九條、減少DNS查詢 (Reduce DNS Lookups)

在 Internet上域名與IP地址之間是一一對應的,域名(kuqin.com)很好記,但計算機不認識,計算機之間的“相認”還要轉成ip地址。在網絡上每臺計算機都對應有一個獨立的ip地址。在域名和ip地址之間的轉換工作稱為域名解析,也稱DNS查詢。一次DNS的解析過程會消耗20-120毫秒的時間,在dns查詢結束之前,瀏覽器不會下載該域名下的任何東西。所以減少dns查詢的時間可以加快頁面的加載速度。yahoo的建議一個頁面所包含的域名數盡量控制在2-4個。這就需要對頁面整體有一個很好的規劃。目前我們這點做的不好,很多打點的廣告投放系統拖累了我們。

第十條、壓縮 JavaScript 和 CSS (Minify JavaScript )

壓縮js和css的左右很顯然,減少頁面字節數。容量小頁面加載速度自然也就快。而且壓縮除了減少體積以外還可以起到一定的保護左右。這點我們做得不錯。常用的壓縮工具有JsMin、YUI compressor等。另外像http://dean.edwards.name/packer/還給我們提供了一個非常方便的在線壓縮工具。你可以在jQuery的網頁看到壓縮過的js文件和沒有壓縮過的js文件的容量差別:

當然,壓縮帶來的一個弊端就是代碼的可讀性沒了。相信很多做前端的朋友都遇到過這個問題:看Google的效果很酷,可是去看他的源代碼卻是一大堆擠在一起的字符,連函數名都是替換過的,汗死!自己的代碼也這樣豈不是對維護非常不方便。所有阿里巴巴中文站目前采用的做法是在js和css發布的時候在服務器端進行壓縮。這樣在我們很方便地維護自己的代碼。

第十一條、避免重定向 (Avoid Redirects )

不久前在ieblog上看到過《Internet Explorer and Connection Limits》這篇文章,比如 當你輸入http://www.kuqin.com/ 的時候服務器會自動產生一個301服務器轉向 http://www.kuqin.com/ ,你看瀏覽器的地址欄就能看出來。這種重定向自然也是需要消耗時間的。當然這只是一個例子,發生重定向的原因還有很多,但是不變的是每增加一次重定向就會增加一次web請求,所以因該盡量減少。

第十二條、移除重復的腳本 (Remove Duplicate Scripts )

這點我想不說也知道,不僅是從性能上考慮,代碼規范上看也是這樣。但是不得不承認,很多時候我們會因為圖一時之快而加上一些或許是重復的代碼。或許一個統一的css框架和js框架可以比較好的解決我們的問題。小豬的觀點很對,不僅是要做到不重復,更是要做到可重用。

第十三條、配置實體標簽(ETags) (Configure ETags )

這點我也不懂,呵呵。在inforQ上找到一篇解釋得比較詳細的說明《使用ETags減少Web應用帶寬和負載》,有興趣的同學可以去看看。

第十四條、使 AJAX 緩存 (Make Ajax Cacheable )

ajax還要去緩存?做ajax請求的時候往往還要增加一個時間戳去避免他緩存。It’s important to remember that “asynchronous” does not imply “instantaneous”.(記住“異步”不是“瞬間”這一點很重要)。記住,即使AJAX是動態產生的而且只對一個用戶起作用,他們依然可以被緩存。

標簽:濟寧 延安 衡水 寧波 贛州 寧夏 海口 日照

巨人網絡通訊聲明:本文標題《網頁速度優化一覽》,本文關鍵詞  網頁,速度,優化,一覽,網頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《網頁速度優化一覽》相關的同類信息!
  • 本頁收集關于網頁速度優化一覽的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    麻豆一区二区99久久久久| 久久精品视频免费| 久久久亚洲精品石原莉奈| 国产午夜精品一区二区 | 亚洲国产日产av| 国产精品 欧美精品| 欧美色涩在线第一页| 国产精品日韩成人| 激情六月婷婷久久| 这里只有精品免费| 亚洲福利一二三区| 色就色 综合激情| 中文字幕免费不卡| 国产专区欧美精品| 欧美一区二区精品在线| 亚洲不卡一区二区三区| 91福利在线观看| 亚洲欧美日韩成人高清在线一区| 韩国av一区二区三区在线观看| 欧美精品一二三四| 亚洲va欧美va国产va天堂影院| 成人av电影在线| 国产日韩欧美精品一区| 久久99精品一区二区三区| 欧美高清性hdvideosex| 亚洲超碰精品一区二区| 欧美性淫爽ww久久久久无| 亚洲精品ww久久久久久p站| 99re这里只有精品视频首页| 专区另类欧美日韩| 91麻豆国产福利精品| 亚洲欧美日韩在线播放| 99精品一区二区| 亚洲精品久久嫩草网站秘色| 色88888久久久久久影院按摩 | 男人操女人的视频在线观看欧美 | 日韩精品一二三区| 91精品蜜臀在线一区尤物| 日本欧美在线看| 日韩欧美一区二区视频| 久久91精品久久久久久秒播| 久久一二三国产| 欧美亚洲综合色| 成人av网址在线| 亚洲三级在线播放| 久久免费美女视频| 一片黄亚洲嫩模| 成人午夜伦理影院| 精品国产百合女同互慰| 亚洲综合小说图片| 粉嫩av一区二区三区| 欧美喷水一区二区| 青青草原综合久久大伊人精品优势| 日韩一区二区三区电影在线观看 | 日韩影院精彩在线| 久久综合九色综合97_久久久| 粉嫩欧美一区二区三区高清影视| 一区二区在线免费| 精品久久久久久久久久久久包黑料| 福利一区二区在线| 亚洲一区视频在线观看视频| 精品国产一区二区三区久久久蜜月| 成人免费毛片片v| 天天亚洲美女在线视频| 国产日本欧美一区二区| 欧美精品日日鲁夜夜添| 国产成人av福利| 午夜精品久久久久久不卡8050| 久久精品一区二区| 欧美日韩你懂得| 成人网男人的天堂| 日本不卡1234视频| 综合中文字幕亚洲| 日韩欧美第一区| 在线亚洲人成电影网站色www| 国产在线观看免费一区| 亚洲影视资源网| 中文字幕一区av| 欧美成人r级一区二区三区| 在线免费观看一区| 国产91清纯白嫩初高中在线观看 | 在线观看亚洲精品| 成人午夜在线免费| 蜜臀久久99精品久久久久宅男| 国产精品卡一卡二卡三| 精品三级在线看| 欧美色欧美亚洲另类二区| eeuss国产一区二区三区| 激情五月婷婷综合网| 丝袜国产日韩另类美女| 亚洲人成精品久久久久久| 国产午夜一区二区三区| 欧美一级日韩不卡播放免费| 欧洲另类一二三四区| 播五月开心婷婷综合| 国产美女视频91| 欧美日韩国产首页| 91小宝寻花一区二区三区| 中文字幕一区二区三区视频| 国产一区二区三区最好精华液| 亚洲视频一区在线| 88在线观看91蜜桃国自产| 国产精品影视在线| 亚洲成av人影院| 国产午夜精品久久久久久久 | 日韩午夜av一区| 欧美日韩色综合| 精品视频在线看| 欧美在线视频全部完| 日本韩国精品一区二区在线观看| 成人免费毛片嘿嘿连载视频| 国产91清纯白嫩初高中在线观看| 国产精品白丝jk白祙喷水网站| 国内精品免费**视频| 国产综合色产在线精品| 理论片日本一区| 国产精选一区二区三区| 成人做爰69片免费看网站| av在线播放不卡| 一本到三区不卡视频| 欧美专区在线观看一区| 欧美电影影音先锋| 精品少妇一区二区三区免费观看| 26uuu精品一区二区在线观看| 国产亚洲短视频| 中文字幕av不卡| 一区二区在线看| 免费人成在线不卡| 粉嫩一区二区三区在线看| 99久久99久久免费精品蜜臀| 欧美日韩在线三级| 日韩欧美国产综合在线一区二区三区| 日韩欧美国产电影| 国产精品区一区二区三区| 亚洲成人第一页| 狠狠色2019综合网| 99久久精品免费精品国产| 欧美亚日韩国产aⅴ精品中极品| 欧美一区二区三区四区久久| 国产肉丝袜一区二区| 亚洲精品国久久99热| 免费人成在线不卡| 99久久精品免费看国产| 日韩一区二区在线播放| 国产精品美女www爽爽爽| 一区二区三区四区不卡在线| 另类小说视频一区二区| 色综合久久久久久久| 日韩女优视频免费观看| 中文字幕一区三区| 久久精品国产久精国产| 91麻豆国产香蕉久久精品| 日韩欧美国产一区二区在线播放| 国产精品久久久久久久久免费丝袜 | 91在线精品一区二区| 亚洲午夜免费电影| 国产美女一区二区三区| 在线观看av不卡| 国产一区二区三区精品视频| 无码av免费一区二区三区试看 | 久久在线观看免费| 国产精品乱码妇女bbbb| 麻豆国产欧美日韩综合精品二区| 99精品在线免费| 精品99一区二区| 日韩精品免费视频人成| 在线免费观看视频一区| 国产欧美一区二区三区鸳鸯浴| 亚洲成av人片www| 色婷婷亚洲综合| 国产精品电影一区二区三区| 国产制服丝袜一区| 欧美一区二区精品| 日韩在线一区二区| 在线免费视频一区二区| 亚洲欧美韩国综合色| 成人免费视频播放| 国产日产亚洲精品系列| 国内精品写真在线观看| 日韩免费观看高清完整版| 天堂久久一区二区三区| 欧美在线一二三| 一区二区视频免费在线观看| 波多野结衣亚洲| 国产色产综合产在线视频| 国产自产v一区二区三区c| 精品欧美一区二区久久| 久久99国产乱子伦精品免费| 日韩欧美在线1卡| 久久精品国产在热久久| 精品国产一区二区三区久久久蜜月 | 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲国产一区二区a毛片| 一本久久a久久精品亚洲| 国产精品久久777777| www.成人在线| 亚洲精品中文在线观看| 欧亚一区二区三区| 日韩国产欧美在线观看| 日韩欧美在线综合网|