nodejs中http模块的timeout问题?

看nodejs的API时,注意到http模块中,request、response、和server都有setTimeout。request的timeout很清楚,多长时间没回复会触发。response是多长时间server没给response会触发。但是server的timeout就不知道什么情况下触发?文档里也没写清楚。

Node API

有看到设置http长连接时,设置server.setTimeout(0);那这效果不是和response的setTimeout一样么?还是我理解错了。

阅读 14k
1 个回答

纳兰少爷,且听臣妾娓娓道来

  • request timeout(请求超时):HTTP客户端发起请求到接受到HTTP服务器端返回响应头的这段时间, 如果超出设定时间,则表示请求超时。
  • response timeout(响应超时):HTTP服务器端开始发送响应数据到HTTP客户端接收全部数据的这段时间, 如果超出设定时间,则表示响应超时。
  • server timeout(默认2min):HTTP服务器维持客户端连接处于open的空闲状态多久,举个例子,你在下载一部电影,下载到了一半,突然停电了,那么服务器在2分钟之后就会触发这个事件咯
  • Node.js & Express.js HTTP应用超时设置
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题