前端性能优化《二》:开启gzip压缩

本文深入解析gzip压缩技术在前端的应用,包括gzip的工作原理、哪些文件适合压缩、如何配置Webpack生成gzip文件,以及如何检测网站的gzip压缩效果。

一、背景

在使用vue-cli3搭建项目的时候,当使用npm run build进行生产环境打包的时候会发现有以下显示:
截图
我们可以看到Gzipped那一列,也就是编译生成后的每一个文件都会有对应的Gzipped文件,并且比原文件小了不止3倍,这无疑会大大节省服务器的网络带宽。那什么是gzip呢?

二、认识gzip

1、什么是gzip

gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器:Chrome、firefox、IE等都支持该协议。常见的服务器如Apache,Nginx,IIS同样支持gzip。

2、gzip工作原理

gzip工作原理
1)浏览器请求url,并在request header中设置属性accept-encoding:gzip,表明浏览器支持gzip。

2)服务器收到浏览器发送的请求之后,判断浏览器是否支持gzip,如果支持gzip,则向浏览器传送压缩过的内容,不支持则向浏览器发送未经压缩的内容。一般情况下,浏览器和服务器都支持gzip,response headers返回包含content-encoding:gzip。

3)浏览器接收到服务器的响应之后判断内容是否被压缩,如果被压缩则解压缩显示页面内容。

下面我们打开taobao查看一下示例(google):
淘宝截图
从上图的Content-Encoding那一列我们可以看到,前面三个文件都使用的是gzip文件。
下面再放一张网络图(我自己查看的时候Request Headers没有Accept-Encoding这一项emmm很尴尬),可以更清晰。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值