我几天前问this question,但我没有接受很多活动。它让我想到也许这是因为我的问题是荒谬的。
我对http的理解是客户端(典型的浏览器)向服务器发送请求(get),在我的情况下是IIS。此请求的一部分是accept-encoding标头,它向服务器指示客户端希望返回资源的编码类型。通常,这可能包括gZip。如果服务器设置正确,它将返回请求的编码中请求的资源。
响应将包含Content-Encoding标头,指示已对资源应用了哪些压缩。响应中还包括Content-Type标头,它指示资源的mime类型。因此,如果响应包括Content-Type:application / json和Content-Encoding:gzip,则客户端知道该资源是使用gzip压缩的json。
现在我面临的情况是,我正在为不是浏览器而是移动设备的客户开发Web服务,而不是请求资源,这些设备将向服务发布数据以进行处理。
所以我已经实现了一个Restfull服务,它接受了json在主体中的post请求。我的客户使用Content-Type:Application / json发送他们的帖子请求。但我的一些客户要求他们要压缩他们的请求以加快传输速度。但我的理解是,没有办法在请求中指出请求的主体是使用gZip编码的。
也就是说,请求没有内容编码标头,只有响应。
是这样的吗?
是否正确使用http来尝试压缩请求?
答案 0 :(得分:3)
根据another answer here on SO,在HTTP标准中,在请求中包含Content-Encoding标头并发送实体缩小。
似乎没有服务器会自动为您充气,因此您必须自己编写服务器端代码(检查请求标头并采取相应措施)。