久久久久青草线综合超碰-久久久久人妻-久久久久人妻精品区一-久久久久人妻精品区一三寸-久久久久人妻精品一区-久久久久人妻精品一区二区三

奧博網(wǎng)絡(luò)
知識學(xué)堂
經(jīng)典案例
解決方案
  • ·聯(lián)系電話:13620441307
  • ·24小時手機:13590074371
  • ·QQ 咨 詢:181046927 452250453
當(dāng)前位置 > 首頁 > 知識學(xué)堂 > 網(wǎng)站建設(shè)知識
高性能網(wǎng)站建設(shè)指南:性能提升的14個原則
發(fā)布時間:2011/7/15 15:56:19 | 來源:網(wǎng)絡(luò)轉(zhuǎn)載 | 點擊率:5771

  今日大致瀏覽了一下《High Performance Web Sites》。本書的中文版是《高性能網(wǎng)站建設(shè)指南》。本書另有對其中個別問題深入探究的進階篇《Even Faster Web Sites》,中譯《高性能網(wǎng)站建設(shè)進階指南》。這本書中給出了14條網(wǎng)站性能提升的原則,每個原則獨立成章,配有示例。這些原則大多數(shù)都非常實用,適合站點架構(gòu)師、前端工程師。其中對于前端工程師的意義更大一些。這次看的是原版。我對于Web開發(fā)較缺乏實踐經(jīng)驗,加之看得匆忙,因此可能存在遺漏、表述不當(dāng)之處,希望廣大網(wǎng)友不吝指正。

  原則1 減少HTTP請求數(shù)

  構(gòu)造請求、等待響應(yīng)需要時間,因此請求數(shù)量越少越好。減少請求的總體思路就是合并資源,減少顯示一個頁面需要的文件數(shù)。

  1. Image Map

  通過設(shè)置<img>標簽的usemap屬性與使用<map>標簽可以在一幅圖片上切分出多個區(qū)域,指向不同的鏈接。比起使用多幅圖片分別構(gòu)造鏈接減少了請求數(shù)。

  2. CSS Sprite(CSS貼圖整合/貼圖拼合/貼圖定位)

  通過設(shè)置元素的background-position樣式做到。一般用于界面圖標。典型的可以參考TinyMCE編輯器上方的那些小按鈕。多個小圖實質(zhì)是從一個統(tǒng)一的大圖通過不同的偏移量裁剪而來,這樣加載界面上的眾多按鈕實際上只要請求一次(請求大圖一次),從而減少HTTP請求數(shù)。

  3. Inline Image(內(nèi)聯(lián)圖片)

  在<img>的src中不指定外部圖片文件的URL,而是直接將圖片信息放入。例如src=”data:image/gif;base64,R0lGODlhDAAMAL...”某些特殊情況下有用(例如一個不大的圖片僅在當(dāng)前頁面用到)。

  原則2 利用多線路CDN

  為你的站點提供多種線路(例如國內(nèi)電信、聯(lián)通、移動)、多個地理位置(北方、南方、西部)的訪問,使得所有用戶都能夠快速訪問。

  原則3 利用HTTP Cache

  給不頻繁更新的資源(例如靜態(tài)圖)加較長的Expires頭信息,這些資源一經(jīng)緩存,未來很長時間都可以不再重復(fù)傳輸了。

  原則4 使用Gzip壓縮

  使用Gzip壓縮HTTP報文,減小體積,減少傳輸時間。

  原則5 將樣式表置于頁面前部

  先加載樣式表,這樣頁面渲染得以較早開始,給用戶頁面加載較快的感覺。

  原則6 將腳本置于頁面尾部

  原因同5,先處理頁面顯示,頁面渲染較早完成,而腳本邏輯稍后執(zhí)行,這樣給用戶頁面加載較快的感覺。

  原則7 避免使用CSS表達式

  過于復(fù)雜的JavaScript腳本邏輯、DOM查找、選擇操作將會降低頁面處理效率。

  原則8 將JavaScript與CSS作為外聯(lián)資源

  這似乎與原則1中的合并思想相悖,但其實不然:考慮每個頁面都引入了一個公共的JavaScript資源(例如jQuery或是ExtJS這樣的JavaScript庫),單就一個頁面的表現(xiàn)來看,內(nèi)聯(lián)(即將JavaScript嵌入HTML)頁面將比外聯(lián)(使用<script>標簽引入)頁面加載更快(因為其較少的HTTP請求數(shù))。但如果有很多頁面都引入了這個公共JavaScript資源,那么內(nèi)聯(lián)方案會造成重復(fù)傳輸(因為這個資源內(nèi)嵌在每個頁面中了,所以每次打開一個頁面都要將這部分資源傳輸一遍,從而造成網(wǎng)絡(luò)傳輸資源的浪費)。而將這種資源獨立出來外聯(lián)引用可以解決這個問題。

  由于JavaScript和CSS相對穩(wěn)定,我們可以對其對應(yīng)的資源設(shè)置較長的失效期(參考原則3)。

  原則9 減少DNS查找

  作者給出的建議是:

  1. 使用Keep-Alive保持連接

  如果連接斷開,那么下次連接又要執(zhí)行DNS查找,即使對應(yīng)的域名-IP映射已被緩存,查找也是要消耗一些時間的

  2. 減少域名

  每次請求新域名都需要進行通過DNS查找不同的域名,且DNS緩存無法發(fā)揮作用。因此應(yīng)該盡量將站點組織在一個統(tǒng)一域名下,避免使用過多子域名

  原則10 壓縮你的JavaScript

  使用JS壓縮工具壓縮你的JavaScript吧,很有效哦。看看jQuery的兩個不同的發(fā)行版本就知道區(qū)別了:

  http://code.jquery.com/jquery-1.6.2.js 閱讀版jQuery代碼,230KB

  http://code.jquery.com/jquery-1.6.2.min.js 壓縮版jQuery代碼(用于實際部署),89.4KB

  原則11 盡量避免重定向

  一次重定向意味著在你真正訪問到想要看到的頁面前加入了一輪額外的HTTP請求(客戶端發(fā)起HTTP請求→HTTP服務(wù)器返回重定向響應(yīng)→客戶端對新URL發(fā)起請求→HTTP服務(wù)器返回內(nèi)容,下劃線部分為額外的請求),因此消耗更多的時間(也就給人反應(yīng)更慢的感覺)。因此除非必要,不要隨意使用重定向。幾個“必要”的情況:

  1. 避免URL失效

  舊站點遷移后,為了避免舊的URL失效,通常將對舊URL的請求重定向至新系統(tǒng)的對應(yīng)地址。

  2. URL美化

  在可讀性好的URL與實際資源URL之間轉(zhuǎn)換,例如對于Google Toolbar,用戶記得住http://toolbar.google.com這個對人類富有語義的地址,卻很難記住http://www.google.com/tools/firefox/toolbar/FT3/intl/en/index.html這個真正的資源地址。因此有必要保留前者,并且將對前者的請求重定向至后者。

  原則12 移除重復(fù)的腳本

  不要在一個頁面中重復(fù)引入相同的腳本。例如腳本B和C都依賴于A,那么在使用了B和C的頁面中就有可能存在對A的重復(fù)引用。解決方法,對于簡單的站點手動檢查依賴性,消去重復(fù)引入;對于復(fù)雜的站點則需要構(gòu)建自己的依賴管理/版本控制機制。

  原則13 小心處理ETag

  ETag是除Last-Modified之外的另一種HTTP Cache手段。通過hash的辦法辨識資源是否被修改。但ETag存在一些問題,例如:

  1. 不一致:不同Web服務(wù)器(Apache, IIS等)定義的ETag格式不同

  2. ETag的計算是不穩(wěn)定的(由于考慮過多因素),例如:

  1) 相同資源在不同服務(wù)器上計算出來的ETag不一樣,而大型Web應(yīng)用通常由不止一臺服務(wù)器提供服務(wù),這就導(dǎo)致客戶端在服務(wù)器A緩存好的資源明明仍然有效,而在下次請求B時由于ETag不同而被認定為失效,導(dǎo)致相同資源的重復(fù)傳輸。

  2) 資源不變,而由于一些其他因素的變化,例如配置文件更改,導(dǎo)致ETag變化。直接后果是系統(tǒng)更新后客戶端大規(guī)模發(fā)生Cache失效,導(dǎo)致傳輸量大增,站點性能下降。

  作者給出的建議是:要么根據(jù)你的應(yīng)用特點改進已有的ETag計算方法,要么干脆就不用ETag,而改用最簡單的Last-Modified.

  原則14 在Ajax中利用HTTP Cache

  Ajax是異步請求,異步請求不會阻塞你現(xiàn)在的操作,而且當(dāng)請求完成時,你馬上就可以看到結(jié)果。但異步不代表能夠瞬時完成,也不代表能夠容忍它花無限多的時間完成。因此對于Ajax請求的性能也需要重視。有很多Ajax請求訪問的是一些相對穩(wěn)定的資源,因此別忘了對Ajax請求利用好HTTP Cache機制,具體參見原則3、13.

  原文:http://www.cnblogs.com/mdyang/archive/2011/07/12/high-performance-web-sites.html

關(guān)鍵字:高性能,網(wǎng)站,指南,性能,提升,網(wǎng)站建設(shè)
主站蜘蛛池模板: 国产精品爽爽久久久久久| 成人免费视频69| 亚洲欧洲中文日韩久久AV乱码| 九九久久香港经典三级精品| 国产视频亚洲精品视频| 最新的国产成人精品2022| www.色婷婷| free俄罗斯性xxxxhd中文| 伊人网在线观看| 成人黄色一级片| 日韩第八页| 国产一区电影| 欧美精品1| 国产人妻无码鲁丝片久久麻豆| 亚洲怡红院频在线视频| 搡老女人免费视频| 99re九精品视频在线视频| 高考陪读妇乱子伦小说长篇| 爱唯侦x论坛| 久久曹| 亚洲色婷婷久久精品AV蜜桃小说| 国产精品亚洲精品久久久久| 久久九九精品视频| 精品国产人妻一区二区三级 | 加勒比色综合| 亚洲精品一区二区午夜无码| 伊人情人网综合| 天天干天天日天天射天天操毛片| a级毛片免费| 婷婷五月花| 在线播放免费看高清大片| 乌龙院1国语免费完整版| 国产人妖在线| 亚洲精品国产一区二区贰佰信息网 | 国产又色又爽又刺激的A片| 女人把腿张开叫男人桶免费视频| 第四色俺去也在线视频| 免费精品精品国产欧美在线| JIZZJIZZJIZZ中国熟妇 高清| 18女下面流水不遮网站免费| 久久成人永久免费播放|