繁体   English   中英

node.js流gzip http响应

[英]node.js streaming gzip http responses

我正在尝试使用gzip批量发送响应,但是从以下示例中,我在Chrome中收到的是``Hello.S./.I.m.S.k。'',而不是``Hello World!''

var http = require('http'),
    zlib = require('zlib');

http.createServer(function(req, res) {
    res.writeHead(200, {
        'Content-Type': 'html/text',
        'Transfer-Encoding': 'chunked',
        'Content-Encoding': 'gzip',
        'Content-Type': 'text/html;charset=UTF-8'
    });

    zlib.gzip("Hello", function(_, result) {
        res.write(result);
    });

    zlib.gzip(" World", function(_, result) {
        res.write(result);
    });

    zlib.gzip('!', function(_, result) {
        res.end(result);
    });

}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');

这不是分块传输编码的意思。

请参阅HTTP标准中描述 简而言之,分块编码由具有ASCII十六进制块长度的块组成,后跟一个CRLF,然后是那么多字节,然后是另一个CRLF。 重复,在长度为零的块CRLF之后,以零长度的块和另一个CRLF作为良好的度量结尾。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM