Image2webp项目是使用 golang 编写的支持多种图片格式实时转码成Webp格式的图片的应用程序。

目前支持JPG,JPEGPNGBMPGIF 这些格式转码成Webp格式。

Webp格式能够在不影响图片质量的情况下显著缩小图片体积,从而提升网络传输速度,节省带宽流量资源。

本项目还支持Webp格式的缩略图功能,也是实时转码,能够无侵入的配置到现有服务器中,只需要在nginx中做一些转发,不用更改任何其他逻辑。

最佳实践

本项目的最佳实现是在图片服务器中启动本服务,在 nginx 或者其他 web 服务器中配置转发,只需要匹配^(.+)_webp(_(\d+)_(\d+)(.*))?$ 这个 url 格式就能转发到 image2webp 程序中,从而输出 webp 格式的图片。

如果是前端访问图片,在请求量很大的时候,这种实时转码的方式会造成 cpu 性能不足,所以针对大请求量的请看,前面必须使用 cdn 档一下。

把 cdn 图片缓存有效期设置长一点,本服务只是回源使用,那样就很完美了。