码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 前端性能优化:启用 gzip


    大家好,我是前端西瓜哥。今天带大家学习如何启用 gzip 来做前端性能优化。

    HTTP 上的 gzip

    gzip 是一种优秀的压缩算法,我们可以在 HTTP 请求上对一些文本文件,设置 gzip 压缩。

    服务端将响应头设置上 Content-encoding: gzip,表示当前资源会使用 gzip 压缩,提示客户端解压使用。

    当然前提是客户端支持该压缩算法,服务端会通过客户端发送的请求头中的 Accept-Encoding 字段来确定是否支持。

    图片

    只对文本文件进行压缩,是因为文本类压缩效果好,而图片视频这些文件则本身就是进行压缩过的,压缩起来不仅效果差,还因为体积大耗费时间。

    我用我自己的网站 https://frontend.fstars.wang 做了测试。

    开启 gzip 前 index.html 大小为 8.4 KB:

    图片

    开了 gzip 后减小为 2.7 KB:

    图片

    你还可以对比图片上其他资源 gzip 压缩前后的大小变化,提升还是相当可观的。我能够感觉到加载确实快了一些的。

    Nginx 上开启 gzip

    Nginx 默认是不开启 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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    结尾

    绝大多数的网站都对文本文件做了 gzip 压缩传输处理,降低了带宽压力,也让用户能够更快地加载资源,属于是一个非常基础的前端性能优化了。

    如果你也部署了自己的个人网站,快去看看你是否正确地开启了 gzip。

    我是前端西瓜哥,欢迎关注我,学习更多前端知识。

  • 相关阅读:
    2022-11-22 mysql-filesort-执行分析
    基于车联网的车辆编队标准现状及展望
    Windows11国内首发,宁盾终端准入率先实现兼容
    openssl命令行:RSA的用法-- 终极版
    java毕业生设计医院疫情防控管理系统计算机源码+系统+mysql+调试部署+lw
    Spring——【第一章入门】:核心Aop与Ioc
    计算机毕业设计ssm儿童成长记录与分享系统cc35g系统+程序+源码+lw+远程部署
    项目实战:通过axios加载水果库存系统的首页数据
    【毕业设计】基于javaEE+原生Servlet+MySql的Web停车场管理系统设计与实现(毕业论文+程序源码)——停车场管理系统
    详解GaussDB(DWS) 资源监控
  • 原文地址:https://blog.csdn.net/fe_watermelon/article/details/126108200
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号