IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    你们会考虑压缩HTML网页(去除注释、空行、缩短成一行等)再渲染吗?

    52txr发表于 2024-12-21 10:17:00
    love 0

    前段时间一直在捣鼓Nginx的pagespeed 模块,发现一直装不上。不论是看着一些教程还是说看着官方的一键安装命令,在编译的时候总是出现各种问题(我可以肯定相关的依赖以及编译环境是没有问题的)。虽然Typecho有一个CompressHTML插件,但是使用之后博客的显示有些奇奇怪怪,可能和handsome的适配性有点问题,而且已经是很多年前的插件了,年久失修。

    Ngx-pagespeed是一个免费的开源Nginx模块,可用于加快网站速度并减少页面加载时间。它可以在无需修改网站内容的前提下,对网站进行优化。使用者可以使用Ngx-pagespeed模块轻松优化各种文件,例如CSS,HTML,png和jpg。

    我看了教程《宝塔Nginx环境安装pagespeed模块加速网站以及配置WebP格式图片加速方法》、《宝塔面板 Nginx 编译 pagespeed 实现 webp 化]》以及《如何在 Debian 11 上使用 Google Pagespeed 模块设置 Nginx》。最后均以失败告终。

    其实我看了看,网上这些教程都是Nginx1.18这个远古时代,现在都已经到了Nginx1.27版本了。是不是pagespeed 模块已经过时了?

    使用一些函数来实现对源码的压缩,会出现一些奇奇怪怪的问题,于是我尝试进行手动从源码上进行压缩,主要是去除了一些换行符以及注释。当然这是一种比较暴力的压缩方法,即便从根源上进行了压缩,不至于占用服务器的资源。但是也可能导致后续的修改比较麻烦。

    以handsome主题为例,在没有手动压缩之前有1409行,进行PHP源码的调整之后,只有700余行。

    压缩前的代码行数

    手动压缩

    像龙笑天下这个主题,是直接在前端压缩成了一行,几乎是一种比较变态的压缩了,显然是适配了一些函数或者插件。

    极致压缩成一行

    我看现在最新Nginx压缩一般都是说使用Gzip以及Brotli 压缩来提高速度。Gzip是宝塔安装后就自带的,Brotli则需要自己安装。Gzip vs Brotli 压缩算法优劣对比:

    对比项目BrotliGzip
    压缩比高中等
    支持数据类型更广泛适中
    CPU 消耗高负载低负载
    兼容性较好非常好

    综合来说,如果更注重网络传输性能和带宽利用率,可以考虑使用 Brotli。但如果更注重服务器资源消耗和兼容性,那么 Gzip 仍然是一个不错的选择。小陶决定尝试开启 Brotli 试试。



沪ICP备19023445号-2号
友情链接