小记NodeJS两项小技巧(与HTTP相关)

时间:2023-03-09 15:42:39
小记NodeJS两项小技巧(与HTTP相关)

1,兼容HTTP1.1和HTTP1.0

  区别在content-length,1.0接受定长,不接受变长,导致transfer-encodeing的chunked模式无法识别,最终导致无法识别BODY。需要在HTTP1.1的header中指定content-length。

2,作为HTTP客户端如何设定超时

  除了异步之外,http request也是个头大的问题,给自己加个超时可以是程序更健康,推荐如下做法。在req.end()之后,加上settimeout,如下。

  setTimeout(function(){
req.abort();
//console.log(JSON.parse(body));
if(!body)
{
console.log("服务器没有响应,在延迟3秒后退出")
o_req.flash('success', '查询超时!');
o_res.render(obj, {
title: '查询',
query_z: '后台正在拼命加速',
query_rt:'喝口水,请稍等片刻',
success: o_req.flash('success').toString(),
error: o_req.flash('error').toString()});
}
},2000);