【发布时间】:2013-12-28 17:02:24
【问题描述】:
一般用例
想象一个正在上传大量 JSON 的客户端。 Content-Type 应保持为application/json,因为它描述了实际数据。 Accept-Encoding 和 Transfer-Encoding 似乎是为了告诉服务器它应该如何格式化响应。 responses 似乎为此目的明确使用了 Content-Encoding 标头,但它不是有效的 request 标头。
我有什么遗漏吗?有没有人找到一个优雅的解决方案?
特定用例
我的用例是我有一个移动应用程序,它生成大量 JSON(在某些情况下还有一些二进制数据,但程度较轻),压缩请求可以节省 大量的带宽。我使用 Tomcat 作为我的 Servlet 容器。我将 Spring 用于它的 MVC 注释,主要只是为了将一些 JEE 内容抽象为一个更干净、基于注释的接口。我还使用 Jackson 进行自动(反)序列化。
我也使用 nginx,但我不确定是否要在此处进行解压缩。 nginx 节点只是平衡请求,然后通过数据中心分发。在它真正到达将要处理它的节点之前保持它的压缩状态同样好。
提前致谢,
约翰
编辑:
我和@DaSourcerer 之间的讨论对于那些在撰写本文时对事物状态感到好奇的人非常有帮助。
我最终实现了自己的解决方案。请注意,这指定了分支“ohmage-3.0”,但它很快就会合并到主分支中。您可能想在那里查看我是否进行了任何更新/修复。
【问题讨论】:
-
github链接坏了!
标签: java spring http compression gzip