重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文介绍了NodeJS服务器实现gzip压缩,分享给大家,具体如下:
创新互联建站是一家集网站建设,蓬江企业网站建设,蓬江品牌网站建设,网站定制,蓬江网站建设报价,网络营销,网络优化,蓬江网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。在浏览器向服务器请求静态资源时,服务器为了减小在网络传输过程中消耗的流量和时间,都是将静态资源经过压缩后返回给服务器的,实现压缩的算法有 deflate
和 gzip
等,最常用的是 gzip
压缩。
gzip 简介
在浏览器和服务器之间通过 gzip
压缩流实现传输的过程可以用下图表示。
当浏览器向服务器请求静态资源,服务器会将静态资源经过处理转换为压缩流,大大减小文件体积,然后将压缩流返回给浏览器,浏览器通过压缩的类型重新将压缩流解析成静态文件。
zlib 模块的使用
1、压缩
在 NodeJS 中通过 zlib
模块帮助我们实现不同类型的压缩,其实压缩的过程就是创建流的过程,创建的压缩流是 Transform 类型(转化流),读取文件的内容经过转化流创建一个新类型的文件。
const zlib = require("zlib"); const fs = require("fs"); const path = require("path"); // 压缩 function gzip(source) { // 处理输入和输出的文件路径 let sourcePath = path.join(__dirname, source); let gzipPath = `${sourcePath}.gz`; // 创建转化流 let gzip = zlib.createGzip(); // 创建可读流 let rs = fs.createReadStream(sourcePath); // 创建可写流 let ws = fs.createWriteStream(gzipPath); // 实现转化 rs.pipe(gzip).pipe(ws); } gzip("index.html");
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。