AppEngine gzip压缩

Ser*_*gey 7 java google-app-engine servlets

我正在尝试从GAE服务器gzip响应,但在Content-Encoding中收到null.

我有以下代码:

connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", 
          "application/json; charset=utf-8"); //"application/json; charset=utf-8"
connection.setRequestProperty("Accept-Encoding", "gzip");
connection.setRequestProperty("User-Agent", "gzip");
connection.setUseCaches (false);
connection.setDoInput(true);
connection.setDoOutput(true);

//write
//read

System.out.println("Content-Encoding " + connection.getContentEncoding());
Run Code Online (Sandbox Code Playgroud)

我已经读过,GAE服务器会自动压缩.那可能是什么问题呢?

Nic*_*son 9

App Engine前端服务器依赖于许多因素,包括Accept-EncodingUser-Agent标头,以确定它们是否应压缩响应.他们这样做是因为有许多用户代理声称接受gzip压缩响应,但实际上无法理解它们.

尝试将您的用户代理设置为合理的(而不是'gzip',这不是真正的用户代理),并查看是否有任何区别.

  • https://developers.google.com/appengine/kb/general#compression states"要强制提供gzip压缩内容,客户端可能会提供'gzip'作为Accept-Encoding和User-Agent请求标头的值." .有些人报告说有效,有些人没有.基本上,似乎没有人知道真正的答案. (6认同)