Image2webp
项目是使用 golang 编写的支持多种图片格式实时转码成Webp
格式的图片的应用程序。
目前支持JPG
,JPEG
, PNG
, BMP
, GIF
这些格式转码成Webp
格式。
Webp
格式能够在不影响图片质量的情况下显著缩小图片体积,从而提升网络传输速度,节省带宽流量资源。
本项目还支持Webp
格式的缩略图功能,也是实时转码,能够无侵入的配置到现有服务器中,只需要在nginx
中做一些转发,不用更改任何其他逻辑。
最佳实践
本项目的最佳实现是在图片服务器中启动本服务,在 nginx 或者其他 web 服务器中配置转发,只需要匹配^(.+)_webp(_(\d+)_(\d+)(.*))?$
这个 url 格式就能转发到 image2webp 程序中,从而输出 webp 格式的图片。
如果是前端访问图片,在请求量很大的时候,这种实时转码的方式会造成 cpu 性能不足,所以针对大请求量的请看,前面必须使用 cdn 档一下。
把 cdn 图片缓存有效期设置长一点,本服务只是回源使用,那样就很完美了。
来源: 开源中国