谷歌宣布,自 Chrome 155 版本起,其浏览器已正式支持 JPEG XL 图像格式。这项新增支持的核心优势在于:JPEG XL 的压缩效率相比传统 JPEG 格式最高可提升 50%。
此外,JPEG XL 还支持动图(动画),并提供无损 JPEG 转码功能,方便开发者直接复用现有图像资源。尽管 JPEG XL 在网站上的潜在用途非常广泛,但这一开关对于运营图片密集型站点的用户(例如摄影师)尤具吸引力。
不过,加入对 JPEG XL 的支持并不仅仅是为了减小文件体积、提升效率,它还带来了安全层面的收益 —— 这得益于解码器采用 Rust 语言实现。
在一篇宣布 Chrome 支持 JPEG XL 的博客文章中,谷歌表示:
我们很高兴地宣布,从 Chrome 155 开始,Chrome 将提供对 JPEG XL(.jxl)图像格式的解码支持。JPEG XL 是一种面向现代 Web 开发者和摄影师需求而设计的新一代图像格式。它相比 JPEG 提供 30%–50% 的更优压缩率,并支持无损压缩、内置 HDR、无损 JPEG 转码等特性。
总体而言,我们建议同时尝试 AVIF 和 JPEG XL 以获得最佳效果。我们认为 JPEG XL 在高保真或无损压缩场景中最为有用,尤其适用于摄影图像,或在需要细粒度渐进式解码的情况下。
谷歌进一步介绍了安全方面的细节,并表示:
图像解码器是现代浏览器中最关键、也最容易成为攻击目标的面之一。它们直接在渲染进程中处理来自网络端的复杂、不可信的二进制结构。历史上,用 C++ 等内存不安全语言编写的解码器极易出现越界读取、堆溢出和释放后使用等漏洞。
我们的安全模型依赖沙箱与纵深防御,并以“二法则”为指导。但沙箱只是第二道防线。为从源头上消除这些安全风险,我们集成了 jxl-rs —— 一个纯 Rust 实现的 JPEG XL 解码器。
谷歌希望尽可能多的开发者开始在自己的站点上使用 JPEG XL,这不仅能为 Web 用户带来种种好处,也能让谷歌收集到关于实现方式的反馈。任何发现漏洞的人都可以通过官方渠道提交详情。