做事端将相应头设置上 Content-Encoding: gzip,表示当前资源会利用 gzip 压缩,提示客户端解压利用。
当然条件是客户端支持该压缩算法,做事端会通过客户端发送的要求头中的 Accept-Encoding 字段来确定是否支持。
只对文本文件进行压缩,是由于文本类压缩效果好,而图片视频这些文件则本身便是进行压缩过的,压缩起来不仅效果差,还由于体历年夜耗费韶光。
我用我自己的网站 https://frontend.fstars.wang 做了测试。
开启 gzip 前 index.html 大小为 8.4 KB:
开了 gzip 后减小为 2.7 KB:
你还可以比拟图片上其他资源 gzip 压缩前后的大小变革,提升还是相称可不雅观的。我能够觉得到加载确实快了一些的。
Nginx 上开启 gzipNginx 默认是不开启 gzip 的,你须要这样设置:
http { # 开启 gzip 压缩 gzip on; # 利用 gzip 压缩的文件类型 # 此外,text/html 是自带的,不用写上 gzip_types text/plain text/css application/javascript application/json text/xml application/xml application/xml+rss; # 小于 256 字节的不压缩 # 这是由于压缩是须要韶光的,太小的话压缩收益不大 gzip_min_length 256; # 开启静态压缩 # 压缩的资源会被缓存下来,下次要求时就直策应用缓存 gzip_static on;}
结尾
绝大多数的网站都对文本文件做了 gzip 压缩传输处理,降落了带宽压力,也让用户能够更快地加载资源,属于是一个非常根本的前端性能优化了。
如果你也支配了自己的个人网站,快去看看你是否精确地开启了 gzip。
我是前端西瓜哥,欢迎关注我,学习更多前端知识。