This question is extension to the question here. I am using the code here reproduced below to GZIP compress a JSONObject
.
String foo = \"value\
This answer shows you that you need to set a header indicating that you are sending data compressed:
HttpUriRequest request = new HttpGet(url);
request.addHeader("Content-Encoding", "gzip");
// ...
httpClient.execute(request);
The answer also shows how to deal with the incoming compressed data.
To inform the server that you are sending gzip-encoded data, send the Content-Encoding header, not Accept-Encoding.
Content-Type:application/json
- tells what type of content data in the http callContent-Encoding: gzip
- tells what compression being used.application/json
or text/xml
or other type can be compressed as gzip and sending to receiver and with Content-Type
header only, receiver will identify the incoming data is of type json/xml/text
and then convert back to object of type json/xml/text.
With Content-Encoding
header only receiver will identify the incoming data is getting gzip compressed. Then receiver required to decompress the incoming data and use it.