首頁(yè) > 新聞 > 知識(shí)賦能

[北京網(wǎng)站制作]高性能web開發(fā)之網(wǎng)絡(luò)傳輸環(huán)節(jié)

2011-10-24 7071
分享至:

高性能web開發(fā)之網(wǎng)絡(luò)傳輸環(huán)節(jié)

1.減少請(qǐng)求數(shù).

◆ 緩存,使用Expires 等設(shè)置過期時(shí)間;如果內(nèi)容沒有過期就不發(fā)送請(qǐng)求

◆ 合并小體積內(nèi)容,例如吧數(shù)量眾多的小圖片放在一個(gè)圖片,之后用css部分呈現(xiàn)(大體積的內(nèi)容就別合并了)

◆ 延遲加載;部分內(nèi)容,例如圖片在頁(yè)面呈現(xiàn)的時(shí)候才加載 (常用的就是滾動(dòng)條到了以后才加載);減少不必要的請(qǐng)求

◆ 合并重復(fù)內(nèi)容和文件

◆ 考慮使用第三方CDN資源,例如jQuery有免費(fèi)的CDN,有些用戶已經(jīng)在其他網(wǎng)站訪問過該內(nèi)容了,那么到我們的網(wǎng)站加載就更快了 (而且使用CDN降低對(duì)我們服務(wù)器的壓力)

◆ 使用HTML 5 中的Local Storage等保存數(shù)據(jù)

2.減少響應(yīng)內(nèi)容的體積.

◆ 適當(dāng)?shù)臅r(shí)候只返回響應(yīng)頭304 (HTTP緩存,如ETag等)

◆ 使用Gzip等壓縮文件內(nèi)容

◆ 使用免費(fèi)的第三方工具,壓縮css,js和html等文件的大小 (例如我們常見的 jquery.min.js)

◆ 適當(dāng)使用Ajax操作

◆ 在適當(dāng)?shù)臅r(shí)候,將樣式,HTML和數(shù)據(jù)分離 (數(shù)據(jù)量很大的時(shí)候極大減小文件體積)

  1. <ul id="id"> 
  2.     <li style="一大堆的樣式">數(shù)據(jù) li> 
  3.     <li style="一大堆的樣式">數(shù)據(jù) li> 
  4.     <li style="一大堆的樣式">數(shù)據(jù) li> 
  5. ul> 
  6. 分成HTML 樣式 和數(shù)據(jù)3部分  
  7.  
  8. HTML  
  9. <ul id="id"> 
  10.     <li>li> 
  11.      
  12. ul> 

樣式保存在CSS文件中一些基本的小常識(shí) 雖然有很多個(gè)li 不用給每個(gè)li指定class

數(shù)據(jù)

◆ 使用JSON返回 (如果覺得麻煩也可以嵌入在頁(yè)面中)

◆ 選擇體積更小的數(shù)據(jù)格式,例如JSON一般就比XML體積來的小 (都經(jīng)過壓縮以后還是更小)

◆ 在設(shè)計(jì)上,只傳送變化的部分?jǐn)?shù)據(jù) (例如要獲取100條數(shù)據(jù),可能已經(jīng)加載了90條,那么再加載10條就好了)

◆ 移除請(qǐng)求和響應(yīng)中不必要的HTTP Header (例如WCF Restful service中有的時(shí)候要傳遞表明當(dāng)前數(shù)據(jù)是JSON還是XML的HTTP Header)

◆ 部分功能,如壓縮會(huì)消耗CPU, 如ajax等會(huì)增加開發(fā)工作量,請(qǐng)謹(jǐn)慎選擇

3.增加請(qǐng)求并發(fā)數(shù).

◆ RFC中,瀏覽器對(duì)于同一個(gè)域名下的資源只能使用2個(gè)線程同時(shí)進(jìn)行訪問(很多新的瀏覽器支持6個(gè)或者更多);解決方法是使用子域名,例如1.abc.com 2.abc.com

  1. <img src ="1.abc.com/1.png" /> 
  2. <img src ="1.abc.com/2.png" /> 
  3. <img src ="2.abc.com/3.png" /> 
  4. <img src ="2.abc.com/4.png" /> 
  5. <img src ="3.abc.com/5.png" /> 
  6. <img src ="3.abc.com/6.png" /> 
  7. <img src ="4.abc.com/7.png" /> 
  8. <img src ="4.abc.com/8.png" /> 

◆ 將一個(gè)超大的文件(例如有些人喜歡吧整個(gè)網(wǎng)站的js都放在一個(gè)文件)拆成一系列的中小文件 (有利于并發(fā)加載和緩存!)這個(gè)文件大小的Size選擇很重要 我個(gè)人建議是10k-200k (依賴于網(wǎng)絡(luò))

◆ 上一條并沒有和1-2沖突,文件太小太多也不行,文件太少太大也不行,這是一個(gè)平衡的問題

◆ 通過分拆文件,使得最常用頁(yè)面(例如首頁(yè))的加載速度變快了

◆ 控制加載順序,例如先加載頁(yè)面大體結(jié)構(gòu),然后多個(gè)javascript異步請(qǐng)求加載數(shù)據(jù)(把一個(gè)大的html變?yōu)槎鄠€(gè)小的html片段)

4.其他特殊技術(shù).

◆ 利用HTTP 1.1的長(zhǎng)連接特性,使得在一定程度上,服務(wù)器可以主動(dòng)推送數(shù)據(jù)(減少了很多不必要的輪詢)

5.工具.

◆ Fiddler (Free)

◆ FireDebug (Free)

◆ HttpWatch

部分內(nèi)容引用自MSDN和其他第三方文章..

標(biāo)簽:北京網(wǎng)站制作 高端網(wǎng)站建設(shè)

來源聲明:

本文章系尚品中國(guó)編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請(qǐng)注明來自尚品中國(guó)。以上內(nèi)容部分(包含圖片、文字)來源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系(010-60259772)。

立即預(yù)約專屬顧問 開啟數(shù)字化轉(zhuǎn)型之旅!

10年+資深項(xiàng)目經(jīng)理1V1服務(wù) | 行業(yè)定制化方案 | 精準(zhǔn)報(bào)價(jià)體系
獲取策劃方案
立即預(yù)約專屬顧問 開啟數(shù)字化轉(zhuǎn)型之旅!

咨詢我們,獲得專業(yè)的服務(wù)和報(bào)價(jià)

聯(lián)系我們,免費(fèi)獲取項(xiàng)目方案及報(bào)價(jià),或只是聊一聊您的項(xiàng)目? 在收到您的需求留言后我們將由專業(yè)人員于24小時(shí)內(nèi)與您取得聯(lián)系,請(qǐng)您保持電話暢通!

  • 科研院所解決方案
  • 外貿(mào)出海解決方案
  • 協(xié)會(huì)學(xué)會(huì)解決方案
  • 集團(tuán)上市公司解決方案
  • 生物醫(yī)藥解決方案
  • 制造業(yè)解決方案
  • 高校教育解決方案
  • 信創(chuàng)網(wǎng)站改造解決方案
更多服務(wù)咨詢,請(qǐng)聯(lián)系尚品

010-60259772

您的姓名 *
您的電話 *
您的郵箱
公司名稱 *