为什么像http.IncomingMessage这样的文档没有所有属性和方法?
我见过教程使用
http.createServer(function(request, response){
request.url
但是如何知道这样的属性'url'是否存在?
http://nodejs.org/api/http.html#http_http_incomingmessage处的文档仅说明了它。
答案 0 :(得分:4)
好吧,让我们从http.createServer
文档开始吧。
http://nodejs.org/api/http.html#http_http_createserver_requestlistener
http.createServer([requestListener])
返回一个新的Web服务器对象.requestListener是一个自动添加到'request'事件的函数。
然后我们查找请求事件。 http://nodejs.org/api/http.html#http_event_request
事件:'请求'
function (request, response) { }
每次有请求时都会发出。请注意,每个连接可能有多个请求(在保持活动连接的情况下)。 request是http.IncomingMessage的一个实例,response是http.ServerResponse的一个实例。
现在我们知道调用回调接受request
和response
作为参数,而request
是IncomingMessage
的实例。然后我们查找IncomingMessage
。
http://nodejs.org/api/http.html#http_http_incomingmessage
http.IncomingMessage
IncomingMessage对象由http.Server或http.ClientRequest创建,并分别作为第一个参数传递给'request'和'response'事件。它可用于访问响应状态,标头和数据。
它实现了可读流界面, 以及以下附加事件,方法和属性。
所以我们向下滚动一下,直到我们达到这个目的: http://nodejs.org/api/http.html#http_message_url
message.url
仅对从http.Server获得的请求有效。
请求URL字符串。它仅包含实际HTTP请求中存在的URL。
似乎很直接。