http.ServerRequest http.Server http.ServerResponse http.ServerRequest 这个对象通常由HTTP SERVER 建立而非用户手动建立,并且会作为传递给'request'事件监听器第一个参数 此对象的可以触发以下事件: Event: 'data' function (chunk) { } 当接收到信息体中的一部分时候会发出data 事件。 例如:代表消息体的数据块将作为唯一的参数传递给回调函数。这个时候数据已经按照传输编码进行了解码(不 是字符集编码)。消息体本身是一个字符串,可以使用request.setBodyEncoding()方法设定消息体的编码。 Event: 'end' function () { } 每次完全接收完信息后都会触发一次。没有参数,当这个事件发出后,将不会再触发其他事件。 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' } 如果你想从查询字符串中提出这些参数,你可以使用require('querystring').parse 方法,或者传一个true 作为第二个 参数给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 协议版本( 字符串形式) , 只读。例如'1.1','1.0' 。request.httpVersionMajor 是第一个数字, request.httpVersionMinor 是第二个数字。 request.setEncoding(encoding='null') 设置此请求的包体的字集编码,'utf8'或者'binary'。缺省值是null,这表示'data'事件的参数将会是一个Buffer 对象。 request.pause() 暂停此request 触发事件.对于控制上传非常有用。 request.resume() 恢复一个暂停的request。 request.connection request.connection 是一个代表当前连接的net.Stream 对象。 对于HTTPS,使用request.connection.verifyPeer() 和request.connection.getPeerCertificate()来获得客户端(浏览 器)的认证详情。 http.Server http.ServerResponse