отправить обратно сжатый JSON в Restlet/GAE

Я пишу приложение Restlet на GAE, подобное описанному здесь: Первое приложение

Я отправляю обратно JSON-представление объекта, и это работает. Но мне пока не удается отправить сжатый ответ.

Я попытался добавить к запросу заголовок accept-encoding с помощью «gzip». но это не помогло. Вот как я это тестировал:

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

Любые идеи будут очень признательны!


person ravyoli    schedule 09.05.2012    source источник


Ответы (1)


Я считаю, что вам также необходимо указать заголовок User-Agent для принудительного сжатия. Из документов:

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

Если клиент отправляет заголовки HTTP с запросом, указывающим, что клиент может принимать сжатый (сжатый gzip) контент, App Engine автоматически сжимает данные ответа и прикрепляет соответствующие заголовки ответа. Он использует заголовки запроса Accept-Encoding и User-Agent, чтобы определить, может ли клиент надежно получать сжатые ответы. Пользовательские клиенты могут принудительно сжимать содержимое, указав для заголовков Accept-Encoding и User-Agent значение «gzip».

person Amy U.    schedule 10.05.2012