2

我正在 GAE 上编写一个 Restlet 应用程序,如下所述: 第一个应用程序

我正在发回一个实体的 JSON 表示,这很有效。但到目前为止,我未能成功发送压缩响应。

我尝试添加以请求带有“gzip”的接受编码标头。但这没有帮助。这是我测试它的方法:

URL url = new URL(address);
URLConnection urlConn = url.openConnection();
urlConn.setRequestProperty("Accept-Encoding", "gzip");
InputStream openStream = urlConn.getInputStream();

任何想法将不胜感激!

4

1 回答 1

1

我相信您还需要指定 User-Agent 标头来强制压缩。从文档:

https://developers.google.com/appengine/docs/python/runtime#Responses

如果客户端在请求中发送 HTTP 标头,表明客户端可以接受压缩(gzipped)内容,App Engine 会自动压缩响应数据并附加适当的响应标头。它使用 Accept-Encoding 和 User-Agent 请求标头来确定客户端是否可以可靠地接收压缩响应。自定义客户端可以通过将 Accept-Encoding 和 User-Agent 标头指定为“gzip”来强制压缩内容。

于 2012-05-10T05:05:17.110 回答