什么是中間件?
個人理解是這樣的,中間件就是類似於一個過濾器的東西,在客戶端和應用程序之間的一個處理請求和響應的的方法。
什么是Connect?
Connect 是Node.js中的一個模塊,可以用來創建中間件的一個框架,它自身已經包裝了Node的HTTP模塊的Server以及Server的req和res的對象。它干的活其實就是處理請求,然后響應客戶端或是讓下一個中間件繼續處理,它的原型是這個樣子的
function (req, res, next) {
// 中間件
}
當next回調函數被調用,中間件就完成工作並傳遞到下一個中間件,如果沒其他中間件則進入到應用邏輯繼續執行。
logger: 用戶請求日志中間件
csrf: 跨域請求偽造保護中間件
compress: gzip壓縮中間件
basicAuth: basic認證中間件
bodyParser: 請求內容解析中間件
json: JSON解析中間件
urlencoded: application/x-www-form-urlencode請求解析中間件
multipart: multipart/form-data請求解析中間件
timeout: 請求超時中間件
cookieParser: cookie解析中間件
session: 會話管理中間件
cookieSession: 基於cookies的會話中間件
methodOverride: HTTP偽造中間件
reponseTime: 計算響應時間中間件
staticCache: 緩存中間件
static: 靜態文件處理中間件
directory: 目錄列表中間件
vhost: 虛擬二級域名映射中間件
favicon: 網頁圖標中間件
limit: 請求內容大小限制中間件
query: URL解析中間件
errorHadnler: 錯誤處理中間件
參考:
原文在這里 http://blog.fens.me/nodejs-connect/
Express API中提供的中間件 http://expressjs.jser.us/api.html
Connect 中間件 http://www.senchalabs.org/connect/