由于我们团队的前端项目越来越庞大,加之Vue的SPA首屏加载特性,导致系统第一次加载速度越来越缓慢,可能达到几十秒的程度,所以为了优化用户性能体验,我们选择了开启Gzip进行文件压缩,确实达到了显著的效果。
Gzip原本用户UNIX系统的文件压缩,后来逐渐成为Internet最主流的数据压缩格式。
当用户访问我们的web站点时,主机就将我们的网页文件进行压缩,将压缩后的文件传输到客户端,对于纯文本文件我们可以至少压缩到原大小的40%,这样大大提高了传输效率,页面便可更快的加载出来。
由于目前我们项目是使用ngxin来部署前端的,nginx自带 HttpGzip模块 , 所以我们直接对 nginx.conf 文件的http配置项进行配置即可。但相对的由于nginx自身处理请求然后压缩返回,会消耗对应的主机内存。
测试效果
我们应尽可能减少对服务端内存的使用,毕竟服务端的资源是十分宝贵的,这里我们仍然使用nginx进行前端部署,我们在客户端替nginx处理压缩文件这一步操作,nginx便可直接使用我们压缩好的文件,下面是一个基于vue-cli配置的前端项目。
这里最好安装低版本,防止报错。
这里可以根据大家不同的配置,总之就是将webpack插件进行注册。
成功运行后,便可以在打包文件中看到.gz结尾的文件了,将打包后的文件上传到指定的nginx文件夹下。
这里需要nginx对应的插件 http_gzip_static_module ,之前我是通过yum安装的nginx,这里似乎不可以,需要手动安装。这里目录可以根据大家个人情况而定。
安装nginx
修改nginx.conf
启动nginx服务
这里我们虽然服务端js文件夹里只有.gz格式的文件(其他的文件已删除),但客户端却成功读取了。
无论是服务端与客户端进行gzip的压缩,我们都大大缩小了文件体积,给用户带来了更好的体验。
服务端处理gzip优点是只需配置一下即可,无需复杂操作,但缺点是会消耗主机内存。
客户端处理gzip优点是无需主机进行文件压缩,减少主机内存消耗,但配置起来相比服务端gzip会稍加繁琐。
Nginx中文文档
什么是GZIP,有什么优势,如何开启GZIP?
vue-cli4 开发项目中开启gzip压缩,优化打包体积,提升加载速度
Nginx gzip static静态压缩
配置nginx直接使用webpack生成的gz压缩文件,而不用nginx自己压缩
gzip是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会快得多,需要nginx也启用gzip
安装低版本才不会报错
配置位置
configindex.js
安装低版本
对vue.config.js进行配置
// 打包 使用gzip压缩
const CompressionWebpackPlugin = require('compression-webpack-plugin');
// 定义压缩文件类型
运行npm run build后出现gz结尾的文件就成功了
一、主体不同
1、GZIP:最早由Jean-loup Gailly和Mark Adler创建,用于UNⅨ系统的文件压缩。
2、ZIP:ZIP文件格式是一种数据压缩和文档储存的文件格式。
二、特点不同
1、GZIP:基础是DEFLATE,DEFLATE是LZ77与哈夫曼编码的一个组合体。DEFLATE最初是作为LZW以及其它受专利保护的数据压缩算法的替代版本而设计的。
2、ZIP:是一种相当简单的分别压缩每个文件的存档格式。分别压缩文件允许不必读取另外的数据而检索独立的文件。
三、优点不同
1、GZIP:可以减少存储空间,通过网络传输文件时,可以减少传输的时间。
2、ZIP:支持基于对称加密系统的一个简单的密码,已知有严重的缺陷,已知明文攻击,字典攻击和暴力攻击。
参考资料来源:百度百科-gzip
参考资料来源:百度百科-Zip
当使用前后端分离开发项目时,如果前端使用vue react等框架进行开发时,往往项目中的js文件很大,即使使用webpack打包之后,少则几百k多则几mb。如果不将数据进行压缩传输,将会大大增加用户加载页面的等待时间。同时在使用ajax交互数据的同时,json数据往往也会达到几百k。使用django可以轻松将 通过接口请求的数据 进行gzip压缩。大大提升用户的体验。
要使通过django处理的请求都进行压缩,可以使用全局配置
如果想控制某个接口进行压缩,可以使用gzip_page进行配置
nginx使用GZIP
linux 中用gzip 压缩目录步骤如下:
1、打开linux客户端。
2、点击连接linux按钮。
3、输入用户名,主机ip地址。
4、输入密码。
5、连接成功,可以进行操作。
6、输入gzip 1.log,意思是将1.log文件进行压缩,最后得到1.log.gz压缩文件。
【gzip文件压缩】的内容来源于互联网,若引用不当,请发邮件456(@)456.cn联系删除
服务器购买/咨询热线:15637009171或15617636856
本文链接:http://www.sqxnmj.com/jishuzhichiyuweihu/26039.html