发布 1.0.0 版本:用于 Gin 和 net/http 的 gzip 中间件,再也不担心返回的 JSON 太大了

一个适用于Gin和net/http的 gzip 中间件,可直接用也可定制参数和过滤器,gzip 压缩你的返回。
项目地址: https://github.com/nanmu42/gzip
p.s.
gzip 一般可以将文本返回(例如 JSON )压缩到 30%~70%.
有的人喜欢在反向代理上做压缩,有的人喜欢在程序里就压缩,萝卜青菜各有所爱。:)

一个适用于Gin和net/http的 gzip 中间件,可直接用也可定制参数和过滤器,gzip 压缩你的返回。
项目地址: https://github.com/nanmu42/gzip
p.s.
gzip 一般可以将文本返回(例如 JSON )压缩到 30%~70%.
有的人喜欢在反向代理上做压缩,有的人喜欢在程序里就压缩,萝卜青菜各有所爱。:)
https://github.com/otamoe/gin-compress
gzip + br 支持 br 的
不过有个小疑问,用 postman 请求的结果是压缩了也没用吗?
因为我发现只有浏览器访问有效果,postman 请求的话 header 里显示已压缩了,但是大小实际没变化
“`
unc CompressGZResult(w http.ResponseWriter, r *http.Request, res interface{}) {
w.Header().Set(“Content-Type”, “application/json”)
w.Header().Set(“Content-Encoding”, “gzip”)
gz := gzip.NewWriter(w)
err := json.NewEncoder(gz).Encode(res)
“`
主要是脏活累活,细节问题,性能问题( GC 要友好)。
gin-contrib 只是看上去好,它 issue 里的问题其实就是上面这些点的体现,关键是官方并不怎么上心…… (他 issue 的链接请看上,v2 系统不让我再发一遍了)