如何向 Web 服务器发出我正在发布 gzip 压缩数据的信号?
Posted
技术标签:
【中文标题】如何向 Web 服务器发出我正在发布 gzip 压缩数据的信号?【英文标题】:How do I signal to a web server that I'm posting gzipped data? 【发布时间】:2012-03-21 21:25:29 【问题描述】:我有一个将大型 JSON 文件发布到 API 服务器的客户端。由于这些文件是可压缩的,我想将它们压缩并发送压缩数据。
我想知道的是:向服务器表明我的意图的最佳方式是什么?
基本上,我想要Accept-encoding
的反面,这样服务器会将数据视为仅出于传输目的而压缩,并在根据Content-Type
解释数据之前自动解压缩数据。
这意味着我无法将Content-Type
字段设置为application/gzip
,因为它需要为application/json
,以便服务器了解真正的未压缩数据编码是什么。
Content-Transfer-Encoding
看起来可以满足我的目的,但它在构建时考虑到了电子邮件,并且仅支持 7bit
、quoted-printable
、base64
、8bit
和 binary
。
是否存在用于从客户端到服务器的 HTTP 传输的透明压缩/解压缩?如果没有,我想要实现的最佳实践是什么?
【问题讨论】:
【参考方案1】:Accept-encoding
标头的“反向”是Content-encoding
。这会向服务器发出内容已被压缩的信号:
您是正确的,您不应该为此使用 Content-type
标头,因为 gzip 压缩纯粹是请求如何编码的问题,而不是它所代表的内容。
【讨论】:
以上是关于如何向 Web 服务器发出我正在发布 gzip 压缩数据的信号?的主要内容,如果未能解决你的问题,请参考以下文章