Почему nodejs выражают zlib, изменяют заголовок "gzip-кодировки содержимого" на "chunked-кодирование передачи"
Когда я пытаюсь сжать ответ с помощью zlib, nodejs express меняет заголовки.
Код:
var acceptEncoding = req.headers['accept-encoding'];
if (!acceptEncoding) { acceptEncoding = ''; }
if (acceptEncoding.match(/\bdeflate\b/)) {
zlib.gzip(JSON.stringify(Response), function (err, result) {
if (!err) {
//res.writeHead(200, { 'content-encoding': 'gzip' });
res.header('Content-Length', result.byteLength);
res.setHeader('transfer-encoding', '');
res.setHeader('content-encoding', 'deflate');
res.send(result, 200);
}
});
}
if (acceptEncoding.match(/\bgzip\b/)) {
zlib.gzip(JSON.stringify(Response), function (err, result) {
if (!err) {
//res.writeHead(200, { 'content-encoding': 'gzip' });
res.header('Content-Length', result.byteLength);
res.setHeader('transfer-encoding', '');
res.setHeader('content-encoding', 'gzip');
res.send(result, 200);
}
});
}
else {
res.send(JSON.stringify(Response), 200);
Chrome response:
Скриншот:
Кто-нибудь знает, зачем это делать??