对gzip/详细解Nodejs压缩

对gzip/详细解Nodejs压缩
0x01。关于

写HTTP时,当接收HTTP请求,有一个随机码,然后发现没有解压缩gzip。

对gzip或deflate压缩,在压缩和非压缩管,管的方法

0x02。管道压

节点中的I/O是异步的,因此对磁盘网络的读写需要通过回调函数读取数据。

当数据在内存中未安装一次,或者读取和处理效率更高时,我们需要使用数据流。

Nodejs提供操作的数据流通过各种流。

官方网络提供管道方法:

复制代码代码如下所示:

请求示例客户机

VaR zlib =需要('zlib);

var http =需要('http');

VaR FS =需要('fs);

无功要求= http.get({主持人:'homeway。我,

路径

港口:80,

标题:{ 'accept-encoding:'gzip,deflate} });

Request.on('response功能(响应){

无功输出= fs.createwritestream('izs。me_index .html);

开关(响应。头'content-encoding{ }){

只要使用 / /或者,zlib.createunzip(地)处理的案件

case'gzip:

response.pipe(zlib.creategunzip())Pipe(输出);

打破;

case'deflate:

response.pipe(zlib.createinflate())Pipe(输出);

打破;

违约:

response.pipe(输出);

打破;

}

});
0x03。非管压

代码如下:

复制代码代码如下所示:

# / usr /局部/斌/节点!

var http =需要('http'),

QueryString =需要('querystring),

zlib =需要('zlib);

var args = { {

参数和备份数据

内容:querystring.stringify({

信息

名称:'homeway。我,

}),

};

var选项{ {

主机名:'homeway。我,

港口:80,

路径,

方法:' ',

标题:{

接受:中/ HTML应用application/xhtml+xml,应用/ XML;q = 0.9,图像/ WebP,q = 0.8 * / *,

内容长度:args.contents.length,

用户代理:'mozilla / 5(苹果;英特尔的Mac OS X 10_10_2)applewebkit / 537.36(KHTML,像壁虎),

接受编码:'gzip,放气,

},

};

无功得到=功能(选项、参数、回调){

无功需求= http.request(选项功能(RES){)

var块= {},数据编码= res.headers { 'content-encoding};

/ / gzip紧缩转变为UTF-8格式

如果(编码= 'undefined){

res.setencoding('utf-8);

}

res.on(数据功能(块){

Chunks.push(块);

});

res.on(最终,函数(){(){

VaR缓冲= Buffer.concat(块);

如果(编码= = 'gzip){

Zlib.gunzip(缓冲功能(呃,解码){

数据decoded.tostring();

回调(呃,args,res.headers,数据);

});

否则如果}(编码= = 'deflate){

zlib.inflate(缓冲功能(呃,解码){

数据decoded.tostring();

回调(呃,args,res.headers,数据);

});

{人}

数据buffer.tostring();

回调(null参数,res.headers,数据);

}

});

});

req.write(args。内容);

Req.end();

};

得到(选项、参数,函数(呃,args,标题、数据){

console.log(= = >头头文件

console.log(= =数据数据;

});
以上是对gzip或deflate压缩Nodejs的全部内容,我希望你能喜欢它。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部