這個對象通常由HTTP SERVER 建立而非用戶手動建立,并且會作為傳遞給'request'事件監(jiān)聽器第一個參數(shù) 此對象的可以觸發(fā)以下事件:
Event: 'data'
function (chunk) { }
當接收到信息體中的一部分時候會發(fā)出data 事件。 例如:代表消息體的數(shù)據(jù)塊將作為唯一的參數(shù)傳遞給回調函數(shù)。這個時候數(shù)據(jù)已經(jīng)按照傳輸編碼進行了解碼(不 是字符集編碼)。消息體本身是一個字符串,可以使用request.setBodyEncoding()方法設定消息體的編碼。
Event: 'end'
function () { }
每次完全接收完信息后都會觸發(fā)一次。沒有參數(shù),當這個事件發(fā)出后,將不會再觸發(fā)其他事件。
request.method
request.method 是一個只讀字符串。例如'GET','DELETE'
request.url
代表所請求的URL 字符串.他僅包括實際的HTTP 請求中的URL 地址。如果這個請求是
GET /status?name=ryan HTTP/1.1\r\n
Accept: text/plain\r\n
\r\n
則request.url 應當是
'/status?name=ryan'
如果你想要解析這個URL 中的各個部分,你應當使用require('url').parse(request.url). Example:
node> require('url').parse('/status?name=ryan')
{ href: '/status?name=ryan'
, search: '?name=ryan'
, query: 'name=ryan'
, pathname: '/status'
}
如果你想從查詢字符串中提出這些參數(shù),你可以使用require('querystring').parse 方法,或者傳一個true 作為第二個 參數(shù)給require('url').parse 方法。 Example:
node> require('url').parse('/status?name=ryan', true)
{ href: '/status?name=ryan'
, search: '?name=ryan'
, query: { name: 'ryan' }
, pathname: '/status'
}
request.headers
只讀
request.httpVersion
這是HTTP 協(xié)議版本( 字符串形式) , 只讀。例如'1.1','1.0' 。request.httpVersionMajor 是第一個數(shù)字, request.httpVersionMinor 是第二個數(shù)字。
request.setEncoding(encoding='null')
設置此請求的包體的字集編碼,'utf8'或者'binary'。缺省值是null,這表示'data'事件的參數(shù)將會是一個Buffer 對象。
request.pause()
暫停此request 觸發(fā)事件.對于控制上傳非常有用。
request.resume()
恢復一個暫停的request。
request.connection
request.connection 是一個代表當前連接的net.Stream 對象。 對于HTTPS,使用request.connection.verifyPeer() 和request.connection.getPeerCertificate()來獲得客戶端(瀏覽 器)的認證詳情。
更多建議: