位置: 编程技术 - 正文

Node.js服务器开启Gzip压缩教程(node js搭建服务器)

编辑:rootadmin

推荐整理分享Node.js服务器开启Gzip压缩教程(node js搭建服务器),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js怎么搭建服务器,node.js怎么搭建服务器,nodejs起服务,node.js怎么搭建服务器,node.js怎么搭建服务器,node js搭建服务器,nodejs开启服务器,nodejs开启服务器,内容如对您有帮助,希望把文章链接给更多的朋友!

Gzip是什么

复制大神们的解释吧:

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的.

Gzip压缩率

举个例子,通过webpack打包后的js文件比较大,虽然我们可以利用chunk功能将文件分开混淆打包,但是总体积还是不小;这时候看看利用gzip压缩的效果:

启用Gzip前

启用Gzip后

对比其中三个文件前后压缩大小:

文本类文件:

iview.min.js: kb -> kb,压缩比.6% base.min.js: kb -> .7kb,压缩比.% style.min.css: kb -> .9kb,压缩比%

图片:

图片1: .2kb -> .2kb,压缩比0%?

我们看到文本类文件的压缩效果非常显著,但是图片体积没变。看一下文本类的http响应头是有gzip压缩过:

而图片的没有:

Node.js服务器开启Gzip压缩教程(node js搭建服务器)

这是因为一般对于图片(png,jpg等)使用gzip的效果不好甚至恰得其反,所以一般都默认对图片不进行gzip压缩。

node.js启用gzip

下面说一下node的express框架如何使用gzip:

1.安装一个compression依赖:

npm install compression

2.调用:

基本的使用就是这样就ok了,另外如果想只对某些请求使用此功能,可以使用它的过滤方法:

其他的功能请参考compression的文档。

另外附上nginx的配置

简单解释下参数

1) gzip

语法:gzip on/off默认值:off作用域:http, server, location说明:开启或者关闭 gzip 模块,这里使用 on 表示启动

2) gzip_min_length

语法:gzip_min_length length默认值:gzip_min_length 0作用域:http, server, location说明:设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。|

3) gzip_buffers

语法: gzip_buffers number size默认值: gzip_buffers 4 4k/8k作用域: http, server, location说明:设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 k 代表以 k 为单位,按照原始数据大小以 k 为单位的4倍申请内存。

4) gzip_comp_level

语法: gzip_comp_level 1..9默认值: gzip_comp_level 1作用域: http, server, location说明:gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。这里设置为 5。5) gzip_types

语法: gzip_types mime-type [mime-type ...]默认值: gzip_types text/html作用域: http, server, location说明:匹配MIME类型进行压缩,(无论是否指定)"text/html" 类型总是会被压缩的。这里设置为 text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php。

node中使用es5/6以及支持性与性能对比 前言这几年react、vue的快速发展,越来越多的前端开始讲es6的代码运用在项目中,因为我们可以通过babel进行转译为低版本的js以便于运行在所有浏览器

详解Node中导入模块require和import的区别 ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用requi

理解nodejs的stream和pipe机制的原理和实现 前言前几天别人请教我关于pipe的问题,我发现我虽然用了nodejs很久,但是由于每次用的不多所以经常回避stream的使用,导致一直不熟,现在重新学习整

标签: node js搭建服务器

本文链接地址:https://www.jiuchutong.com/biancheng/380925.html 转载请保留说明!

上一篇:express框架实现基于Websocket建立的简易聊天室(express框架作用)

下一篇:node中使用es5/6以及支持性与性能对比(nodejs esmodule)

  • 递延所得税负债怎么算
  • 外币账户单位基本情况表
  • 不征税收入和免税收入所对应的成本与费用能否税前扣除
  • 年终奖可以税前扣除嘛
  • 税务异常有哪些类型
  • 短期投资会计科目编码
  • 滞纳金海关
  • 企业年金如何缴费标准
  • 分给当期投资者利润如何做会计分录?
  • 法院案件受理费计算器
  • 厂家返利计提会计分录
  • 发票先收到下个月才付款
  • 将自制的一批新产品用于对外投资,生产成本为300000
  • 公司股权折价收入怎么算
  • 老板向公司借款用于公司经营
  • 年底收到发票未付款怎么做账
  • 增值税进项税额在借方还是贷方
  • 什么情况下税务会查账
  • 罚款费用报销单怎么写
  • 公司招待客户买的水果怎么入账
  • 土地增值税含房产吗
  • win7旗舰版系统怎么样
  • 尼泊尔乡村
  • mac升级系统还剩不到一分钟
  • 桌面美化神器
  • vue解决数据量过大的问题
  • 出口增值税怎么计算公式
  • 埃托沙国家公园发展观兽旅游的优势条件
  • php图片下载本地功能
  • 前端后端选择
  • 2023年生活性服务业加计扣除
  • mvc与mvvm
  • 哪些发票是成品发票
  • h5支付功能
  • 激光器原理及应用
  • 微信小程序下拉菜单怎么做
  • es6promise的理解
  • 进项发票和销项发票统计
  • 文化事业建设费的征收范围
  • 跨境电商小规模运营负责那些工作
  • 公司认缴的钱可以动吗
  • dedecms怎么用
  • 以前年度盈余调整对应科目
  • 改签机票要收费
  • 金税盘长期不使用
  • db2获取当前年月日
  • 收入增长率计算器
  • 资本公积怎么计提
  • 坏账损失的定义
  • 自助餐怎么核算成本
  • 欠供应商货款会坐牢吗
  • 去年未分配利润 负数 结转今年
  • 旅游费计入什么会计科目
  • 研发成功后的产品出售如何处理
  • 已付款收货未收货怎么办
  • 主营业务收入多栏式明细账怎么登
  • 全资子公司合并报表编制
  • 超市会计怎么做会计分录
  • 小企业会计准则会计科目表
  • sql server本地服务器地址如何查看
  • bios里没有启动项设置
  • win8系统怎么重新安装系统
  • win8文件夹选项在哪
  • django orm外键
  • jquery.ui
  • jquery validate表单校验html
  • android保存文件到本地
  • nodejs10支持es6吗
  • android 科大讯飞语音引擎 调用无响应
  • js使文本框失去焦点的方法
  • jqueryui easyui
  • webview清除数据
  • 四川增值税发票真伪查询
  • 商业发票发票号怎么填写
  • 税控盘连接服务器失败是什么原因黑盘发票无法上传
  • 绿化工程项目
  • 因公出差伙食补助标准
  • 疫情期间增值税税率
  • 怎么查税务是否注销成功
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设