是否需要对HTTP请求的响应?

时间:2014-07-18 02:25:45

标签: node.js http server-sent-events

我认为这是一个普遍适用的问题,但我正在尝试这样做:小型Node.JS应用程序,只要在组中发布消息以触发并完成完全独立的操作,就会从GroupMe接收POST请求。他们说callback URL will receive an HTTP POST request from us every time a message is published to that group。如果我需要回复POST,对我来说并没有多大区别,但我很好奇是否有必要或者是否有任何负面影响。

var server = http.createServer(function(request, response) {
    doStuff(request);
});

2 个答案:

答案 0 :(得分:4)

这实际上取决于你正在做什么,但通常如果没有发送响应,那么期望有一个响应的应用程序或用户将等到连接超时(可能需要一分钟或更长时间),得到时间输出错误并假设您的服务不起作用。

您不必发送任何文字,只需HTTP response code即可。让doStuff()返回是否成功并根据它发送相应的代码:

var server = http.createServer(function(request, response) {
    response.send(doStuff(request) ? 200 : 400);
});

200表示正常,400表示错误请求

答案 1 :(得分:1)

我在HTTP request and response领域所知道的,您至少应该说response.end()

如果您不能说response.end客户将等待回复。最好在巡演任务后说response.end

var server = http.createServer(function(request, response) {
    doStuff(request);
    response.end(); //It tells browser/client that server has finished it's work on this request.
});