Потоковая Http-ответы с NodeJS
Я экспериментирую с различными ответами от простого HTTP-сервера NodeJS. Эффект, которого я пытаюсь достичь, - более быстрая визуализация веб-страницы. Так как ответ передается в браузер сtransfer-encoding: chunked
(верно?) Я думал, что смогу визуализировать макет страницы первым, а остальные данные после задержки.
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {
'Content-Type': 'text/html'
, 'Transfer-Encoding': 'chunked'
});
res.write('<html>\n');
res.write('<body>\n');
res.write('hello ');
res.write('</body>\n');
res.write('</html>\n');
setTimeout(function () {
res.end('world');
},1500);
}).listen(3000, '127.0.0.1');
Дело в том, что кажется, что ответ не отправлен доres.end('world')
если уже записанные данные не являются достаточно длинными, например,res.write(new Array(2000).join('1'))
вместо этогоres.write('hello')
, сделает свое дело.
Node буферизует мои записи до тех пор, пока данные не станут достаточно большими для отправки? Если это так, настраивается ли размер чанка?