在nodejs中,服务器(传入的http请求)的默认超时时间为120000(2分钟)(参见:http://nodejs.org/api/http.html#http_server_timeout)
但如果我在docs中的nodejs(http.request)中执行了http请求,我只会找到一个函数(http://nodejs.org/api/http.html#http_request_settimeout_timeout_callback)来手动设置超时。
任何人都知道nodejs中的http请求是否有默认超时?或者nodejs尝试发送没有结束的http请求吗?
答案 0 :(得分:11)
您想设置server.timeout
属性(默认为120,000,如您所见)。
答案 1 :(得分:3)
我也对此感兴趣。通过阅读代码,Node.js在http请求(自然)的引擎下使用Socket。 (下面的源代码链接在我写这篇文章时指的是v8.8.0)
https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js
此文档默认情况下Socket没有超时
https://nodejs.org/dist/latest-v6.x/docs/api/net.html#net_socket_settimeout_timeout_callback
而消息来源也是如此。
答案 2 :(得分:0)
不。没有默认的超时时间。
Node.js在http请求的后台使用Socket,并且默认情况下套接字没有超时。
使用http.request的{timeout:XX}参数配置正确的请求超时。