使用Go处理HTTP压缩文件数据总结

2021-03-02 08:27

阅读:520

标签:async   unp   通过   targe   dem   response   保留   gzip   http   

前言

最近遇到了一个HTTP请求返回一个gz压缩包的问题,前前后后搞了3天,总算是把整个流程以及处理的细节搞明白了,总结一篇博客记录分享一下。

问题描述几解决方案

流量方的优化

获取某推广告成效数据的时候由于数据量很多,可能会导致Response数据量过大从而造成请求失败的问题。

某推服务方设计了这样一种方式:现将请求的到的数据写入到一个json文件中,然后将这个json文件使用gzip压缩,经过实际测试,一个100多k大小的json文件使用gzip压缩后只有十几k的大小(并且gzip压缩后是不保留原文件的)!

最终服务端存的是一个压缩后的gz文件,然后返回给用户端一个链接,用户根据这个链接去“下载”压缩后的数据文件。

比如我们可以通过下面这个链接下载成效数据:成效数据链接 

解决方案

与我们平时处理的请求不同的是,发送GET请求得到的是一个gz文件的数据流。

从网上找了一个包去处理文件解压缩的问题,但是其源码本身有一些问题,略微修改了一下其源码后便可使用了。

最终修改后的项目地址请访问:Unpackit

模块使用demo

 

 

 

123

123

使用Go处理HTTP压缩文件数据总结

标签:async   unp   通过   targe   dem   response   保留   gzip   http   

原文地址:https://www.cnblogs.com/paulwhw/p/14349873.html


评论


亲,登录后才可以留言!