使用Go处理HTTP压缩文件数据总结
2021-03-02 08:27
标签:async unp 通过 targe dem response 保留 gzip http 最近遇到了一个HTTP请求返回一个gz压缩包的问题,前前后后搞了3天,总算是把整个流程以及处理的细节搞明白了,总结一篇博客记录分享一下。 获取某推广告成效数据的时候由于数据量很多,可能会导致Response数据量过大从而造成请求失败的问题。 某推服务方设计了这样一种方式:现将请求的到的数据写入到一个json文件中,然后将这个json文件使用gzip压缩,经过实际测试,一个100多k大小的json文件使用gzip压缩后只有十几k的大小(并且gzip压缩后是不保留原文件的)! 最终服务端存的是一个压缩后的gz文件,然后返回给用户端一个链接,用户根据这个链接去“下载”压缩后的数据文件。 比如我们可以通过下面这个链接下载成效数据:成效数据链接 与我们平时处理的请求不同的是,发送GET请求得到的是一个gz文件的数据流。 从网上找了一个包去处理文件解压缩的问题,但是其源码本身有一些问题,略微修改了一下其源码后便可使用了。 最终修改后的项目地址请访问:Unpackit 123 123 使用Go处理HTTP压缩文件数据总结 标签:async unp 通过 targe dem response 保留 gzip http 原文地址:https://www.cnblogs.com/paulwhw/p/14349873.html前言
问题描述几解决方案
流量方的优化
解决方案
模块使用demo