ServerResponse和http.IncomingMessage有什么区别?我是Node的新手,我对这两个对象感到很困惑。
答案 0 :(得分:0)
req
是IncomingMessage对象,res
是ServerResponse对象。
因此,检查每个属性的唯一属性,例如,如果特定对象具有writeHead()函数,则它是响应对象。
您也可以使用instanceof来检查:res instanceof http.ServerResponse。
答案 1 :(得分:0)
http.IncomingMessage
对象表示服务器收到的来自客户端的请求信息。 See this link for the Node API docs。所以,这个对象包含标题,方法(GET,POST等),请求的URL等等......它实现了ReadableStream
接口 - 这意味着你可以从中读取数据使用流 - 并具有多个事件,方法和属性。 (这里列出太多......)
ServerResponse
对象表示http服务器对客户端的响应。 See this link for the Node API docs。使用此对象,您可以设置将发送到客户端的标头,响应的状态代码和状态消息,以及要返回的任何数据。它实现了WritableStream
接口 - 这意味着您可以使用流写入它 - 并且还具有多个事件,方法和属性。
在许多服务器端程序中,您会看到类似的内容:
function foobar(req, res) {
}
req
变量包含http.IncomingMessage
对象 - 它是request
的缩写。 res
变量包含ServerResponse
对象 - 它是response
的缩写。
有关这两个对象的完整说明,请参阅文档链接。
希望这有帮助!