当我尝试使用zlib压缩响应时,node表示更改标题。
代码:
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响应:
截图:
有人知道为什么这样做吗?