当互联网从3g时代转入4g时代后界面也发生了翻天覆地的变化,从单一样式转变成了很多动画、特效、布局、框架的集成,从单调的界面变换成了更加丰富从而给用户带来了更加有趣味性的交互体验。在这个快节奏的时代,用户希望看到的是快速的页面开启,并有更多丰富的特效。但是现在更多的动画特效意味着客户端需要使用更多的流量,发送更多的HTTP请求来加载资源,这也导致了很多页面打开慢,加载久。反而更没有当初3g网络时代的迅捷。
现在,我们有了Gzip压缩,它可以帮我们实现在服务器到客户端传输的过程中使用更小的网络流量,使传输速度更快,从此有了飞一般的感觉~~
什么是Gzip?
gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器,Chrome,firefox,IE等都支持该协议。常见的服务器如Apache,Nginx,IIS同样支持gzip。
gzip压缩比率在3到10倍左右,可以大大节省服务器的网络带宽。而在实际应用中,并不是对所有文件进行压缩,通常只是压缩静态文件。
实际效果对比
下面两张图可以看到,开启Gzip压缩和未开启Gzip压缩,网络传输的浏览是有明显的区别的。
如何判定开启
如果开启了Gzip压缩,在请求的返回 Response Headers
中会带有 Content-Encoding: gzip
的字眼,在浏览器内的 NetWork
选项中可以看到 Size
是有两个的,其中小的为 网络传输流量
另一个为 文件实际大小
Spring Boot中如何开启?
在Spring boot中只要在 application.yml
中加入以下配置即可
server:
# 开启Gzip压缩
compression:
enabled: true
mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
min-response-size: 2KB
写在最后
Gzip应该是目前市面上主流的压缩协议了,目前各大网站 (某东、某宝、某多多)官网都是使用这样的协议,大大的增加了网络带宽的利用率,使客户端可以更快的开启界面。建议没有加上此压缩协议的项目要尽快加上,体验一下非一般的感觉