Javascript 如何从http.get响应(Node.js)确定块的数量

Javascript 如何从http.get响应(Node.js)确定块的数量,javascript,node.js,http,encoding,chunks,Javascript,Node.js,Http,Encoding,Chunks,我想知道是否有一种方法可以收集在使用http.get请求页面时要返回多少块。我最初的想法是,也许有一种方法可以在实际接收块之前通过回调响应来确定它 例如: http.get({ hostname: 'io-chat.com', port: 80, path: '/js', headers: {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom

我想知道是否有一种方法可以收集在使用http.get请求页面时要返回多少块。我最初的想法是,也许有一种方法可以在实际接收块之前通过回调响应来确定它

例如:

http.get({
  hostname: 'io-chat.com',
  port: 80,
  path: '/js',
  headers: {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36'},
}, function (res) {
  var chunks = [];
  res.on("data",function(i){chunks.push(i)});
  res.on("end",function(){console.log(chunks.length)});
})
最后,我让控制台打印接收到的块数,我希望在接收所有块之前获得这些信息,以便加载程序可以知道预期的块数


此外,我想知道为什么我会收到一个似乎在范围内的随机数块。有时,在加载此页面和其他页面时,我会得到从173到176的大量块。原因是什么?它真的很重要吗?

简而言之,这是不可能的,因为数据块的数量取决于它将被发送到的TCP数据包的数量,而这只能是近似值。好的,那么你至少可以预测数据的大小吗?无论是字符长度还是文件大小?嗯,您可以检查标题的内容长度,但这取决于服务器设置。在这种情况下,服务器并不关心。