前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用gzip进行前端性能优化?

如何用gzip进行前端性能优化?

原创
作者头像
Learn-anything.cn
发布2021-11-27 13:13:09
1.5K0
发布2021-11-27 13:13:09
举报
文章被收录于专栏:learn-anything.cnlearn-anything.cn
一、简介

HTTP 可以对传输的内容进行压缩,减少网络实际传输数据的大小。原理就是 服务器对文件进行 gzip 压缩后,再进行传输,浏览器收到资源后再解压的过程。

  • 对于 js、text、json、css 这种纯文本进行压缩,效果特别好,不用改变代码即可提升网站响应速度;
  • 压缩过程是需要花费 CPU 资源的,对大文件(图片、音乐等)进行压缩,不仅不能提升网站响应速度,还会增加服务器压力,让网站有明显的卡顿感。

二、nginx 开启 gzip

服务器使用 nginx,浏览器使用 chrome,开启 gzip,看看实际优化的效果。

1、修改配置

打开 nginx 的配置文件 sudo nano /etc/nginx/nginx.conf,找到 gzip 对应区域,增加下面配置后,保存退出。

代码语言:txt
复制
# 开启gzip,关闭用off
gzip on;

# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;

# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,推荐6
gzip_comp_level 6;

# 设置压缩所需要的缓冲区大小 
gzip_buffers 16 8k;

# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.1;

# 选择压缩的文件类型,其值可以在 mime.types 文件中找到。
gzip_types text/plain text/css application/json application/javascript


# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;

# gzip_proxied any;

2、重启 nginx
代码语言:txt
复制
# 1、重启:
sudo /etc/init.d/nginx restart

# 2、重新加载配置文件,无需重启:
sudo /etc/init.d/nginx reload

3、查看 gzip 是否开启?
  1. 打开网站;
  2. 打开开发者工具(windows快捷键Control+Shift+J、Mac快捷键Command+Option+J);
  3. 如下图,响应头中有 Content-Encoding: gzip ,表示已经开启。
查看是否开启gzip
查看是否开启gzip

4、查看 gzip 压缩效果?
  1. 打开网站;
  2. 打开开发者工具(windows快捷键Control+Shift+J、Mac快捷键Command+Option+J);
  3. 如下图,73.9kb表示是压缩后在网络传输的大小;574kb表示是实际文件的大小。
查看文件实际大小和网络传输大小
查看文件实际大小和网络传输大小

三、前端性能检测工具

lighthouse 是谷歌的开源项目,一键即可查找出网站所有需要优化的内容和建议。安装和使用,可以看这里!

lighthouse-report
lighthouse-report

四、参考文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、简介
  • 二、nginx 开启 gzip
    • 1、修改配置
      • 2、重启 nginx
        • 3、查看 gzip 是否开启?
          • 4、查看 gzip 压缩效果?
          • 三、前端性能检测工具
          • 四、参考文档
          相关产品与服务
          云开发 CLI 工具
          云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档