返回顶部
首页 > 资讯 > 服务器 >Node.js服务器开启Gzip压缩教程
  • 405
分享到

Node.js服务器开启Gzip压缩教程

服务器教程Node 2022-06-04 17:06:50 405人浏览 薄情痞子
摘要

Gzip是什么 复制大神们的解释吧: GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在linux中经常会用到后缀为.gz的文件,它们就是GZIP格

Gzip是什么

复制大神们的解释吧:

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

Gzip压缩率

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

查看图片

启用Gzip前

查看图片

启用Gzip后

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

文本类文件:

iview.min.js: 429kb -> 109kb,压缩比74.6% base.min.js: 309kb -> 81.7kb,压缩比73.56% style.min.CSS: 207kb -> 30.9kb,压缩比85%

图片:

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

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

查看图片

而图片的没有:

查看图片

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

node.js启用gzip

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

1.安装一个compression依赖:

npm install compression

2.调用:


var compression = require('compression')
var app = express();

//尽量在其他中间件前使用compression
app.use(compression());

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


app.use(compression({filter: shouldCompress}))

function shouldCompress (req, res) {
 if (req.headers['x-no-compression']) {
  // 这里就过滤掉了请求头包含'x-no-compression'
  return false
 }

 return compression.filter(req, res)
}

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

另外附上Nginx的配置


#on为启用,off为关闭
gzip on;

#设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。
gzip_min_length 1k;

#获取多少内存用于缓存压缩结果,‘4 16k'表示以16k*4为单位获得
gzip_buffers 4 16k;

#gzip压缩比(1~9),越小压缩效果越差,但是越大处理越慢,所以一般取中间值
gzip_comp_level 5;

#对特定的MIME类型生效,其中'text/html'被系统强制启用
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-PHP;

简单解释下参数

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 16k 代表以 16k 为单位,按照原始数据大小以 16k 为单位的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

--结束END--

本文标题: Node.js服务器开启Gzip压缩教程

本文链接: https://lsjlt.com/news/12425.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Node.js服务器开启Gzip压缩教程
    Gzip是什么 复制大神们的解释吧: GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格...
    99+
    2022-06-04
    服务器 教程 Node
  • Vite怎么开启Gzip压缩
    这篇文章主要介绍“Vite怎么开启Gzip压缩”,在日常操作中,相信很多人在Vite怎么开启Gzip压缩问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vite怎么开启Gzip压缩”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • 如何开启gzip和deflate压缩
    这期内容当中小编将会给大家带来有关如何开启gzip和deflate压缩,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是压缩?大家还记得我们第一次接触winzip软件吗?非常神奇,一个文件,经过winz...
    99+
    2023-06-12
  • Apache开启GZIP压缩功能方法
    Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在linux平台。Gzip在现代浏览器中默认都是支持的,当一个纯文本文件使用Gzip压缩可以减少70%以上的文件大小,压缩后可以大大降低了网络传输的字节数,使用...
    99+
    2022-06-04
    Apache开启GZIP压缩 开启GZIP压缩
  • linux中wordpress gzip压缩怎么开启
    这篇文章给大家分享的是有关linux中wordpress gzip压缩怎么开启的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简介 Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输...
    99+
    2023-06-13
  • Apache如何开启GZIP压缩功能
    这篇文章主要介绍“Apache如何开启GZIP压缩功能”,在日常操作中,相信很多人在Apache如何开启GZIP压缩功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Apache如何开启GZIP压缩功能”的疑...
    99+
    2023-06-05
  • 服务器端如何开启GZIP压缩功能(Apache、IIS、Nginx)
    目录Apache如何开启GZIP功能IIS如何开启GZIP功能Nginx如何开启GZIP功能我们知道做好负载均衡对网站的正常运行,用户体验相当重要。在负载均衡中有一个必须要做的事情就是给服务器开启GZIP压缩功能,对用户...
    99+
    2022-06-05
    Apache开启GZIP压缩 IIS开启GZIP压缩 Nginx开启GZIP压缩
  • nginx开启gzip压缩的完整步骤记录
    目录前言一、配置gzip压缩二、配置详解三、 重启nginx服务总结 前言 开启网站gzip压缩,是一个网站最常用的一个增加访问速度的方式,通过压缩静态资源,从而增加网站的...
    99+
    2024-04-02
  • 云服务器怎么开启gzip
    云服务器开启gzip的操作方法:检查apache是否加载mod_deflate模块:Ctrl+Alt+T打开终端,输入命令:httpd -M 查看,结果显示有deflate_module (shared)这个字段,则说明该模块已经加载成功。...
    99+
    2024-04-02
  • php如何判断服务器是否支持gzip压缩
    本篇内容主要讲解“php如何判断服务器是否支持gzip压缩”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何判断服务器是否支持gzip压缩”吧!开GZIP有什么好处?Gzip功能是一种压缩...
    99+
    2023-06-20
  • 使用php判断服务器是否支持Gzip压缩功能
    Gzip可以压缩网页大小从而达到加速打开网页的速度,目前主流的浏览器几乎都支持这个功能,但开启Gzip是需要服务器支持的,在这里我们简单的使用php来判断服务器是否支持Gzip功能。...
    99+
    2022-11-15
    php 服务器 Gzip压缩
  • 腾讯云服务器端口开启教程
    腾讯云服务器端口是一个计算机软件,用于访问服务器上的资源。为了避免被封禁,需要开启腾讯云服务器端口。在腾讯云服务器软件的菜单栏或工具条上,会有“端口”选项卡。点击选项卡中的“开启端口”按钮,可以开启服务器端口。 以下是详细的教程步骤: ...
    99+
    2023-10-26
    腾讯 端口 服务器
  • 阿里云服务器远程桌面开启教程
    1. 登录阿里云服务器控制台 首先,打开浏览器,输入阿里云官方网址(https://www.aliyun.com/),点击右上角的"登录"按钮,输入您的账号和密码,然后点击"登录"。 2. 选择云服务器实例 在控制台首页,点击左侧导航栏的...
    99+
    2023-10-27
    阿里 远程桌面 服务器
  • Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
    Nginx开启Gzip压缩功能, 可以使网站的css、js 、xml、html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能!  Web网站上的图...
    99+
    2024-04-02
  • 腾讯云服务器开传奇教程怎么开启
    1. 购买腾讯云服务器 首先,你需要购买一台腾讯云服务器。在购买时,你需要选择适合你的业务需求的服务器类型和配置。建议选择操作系统为 CentOS 7.2 64位版本。 2. 安装必要的软件 在服务器上安装必要的软件,包括 MySQL 数...
    99+
    2023-10-26
    腾讯 服务器 传奇
  • Node.js HTTP 服务器:开启网络开发新篇章
    Node.js 已成为当今最受欢迎的服务器端开发平台之一,其事件驱动的架构和异步编程模型使其非常适合处理网络应用程序。Node.js HTTP 服务器是开发这些应用程序的基石,它提供了强大且灵活的功能来创建高效且可扩展的网络服务。 Nod...
    99+
    2024-04-02
  • 阿里云服务器解压缩包怎么解压
    阿里云服务器的解压缩包的解压是一个相对复杂的操作,但是如果掌握了正确的步骤,就可以非常方便地完成。这篇文章将详细介绍如何在阿里云服务器上解压缩文件和文件夹。 阿里云服务器解压缩包的解压方法:首先,您需要登录到阿里云服务器。在服务器的控制台上...
    99+
    2023-12-11
    阿里 解压缩 服务器
  • LNMP部署及HTTPS服务开启教程
    LNMP是什么 : linux+Nginx+mysql+(php-fpm,php-mysql)           &n...
    99+
    2022-06-04
    LNMP部署实例 阿里云lnmp开启https LNMP环境配置SSL证书
  • 腾讯云服务器端口开启教程在哪
    首先,需要在腾讯云服务器上找到目标云服务器。如果目标服务器没有提供可用的服务器列表,则需要创建一个。在创建过程中,可以选择“云服务器名称”,并在“控制台”中输入端口号和密码。在完成创建后,可以在控制台中查看该服务器的可用IP地址和端口号。 ...
    99+
    2023-10-27
    腾讯 端口 服务器
  • 阿里云开启端口服务器设置教程
    这篇文章将详细讲解如何在阿里云上开启端口服务器。无论是对网络编程新手还是经验丰富的开发者,这篇文章都将提供有用的信息和指导。 一、什么是端口服务器端口服务器是指在特定的端口上提供服务的服务器。例如,Web服务器、邮件服务器、FTP服务器等都...
    99+
    2023-11-03
    阿里 端口 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作