ServerResponse和http.IncomingMessage有什么区别?

时间:2017-02-08 07:42:24

标签: node.js

ServerResponse和http.IncomingMessage有什么区别?我是Node的新手,我对这两个对象感到很困惑。

2 个答案:

答案 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的缩写。

有关这两个对象的完整说明,请参阅文档链接。

希望这有帮助!