2013-07-05 4 views
3

Google App Engine에서 호스팅하는 서비스 용 API를 구축하고 있습니다. 이 API는 많은 양의 데이터를 제공하므로 gzip으로 처리해야합니다. GAz에서 데이터를 gzip으로 가져 오는 방법에 대한 문서의 섹션은 "gzip"에 "User-Agent"와 "Accept-Encoding"을 설정하는 것입니다. 이것을 테스트 해 보았지만 괜찮습니다. Google App Engine에서 AJAX 요청에 대해 gzip으로 압축 된 콘텐츠를 제공하는 방법은 무엇입니까?

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

그러나 클라이언트 중 하나

는 API가 브라우저에서 실행되는 사용하는 내장 및 XMLHttpRequest를 적어도 크롬에서, 그 헤더를 설정 할 방법은없는 것처럼 보인다된다. , 자바 스크립트 클라이언트가 XMLHttpRequest를위한 구글 앱 엔진에서 자동으로 gzip으로 인코딩 된 응답을 얻기 위해 수행하고있을 수있는 모든 경우

Refused to set unsafe header "User-Agent" 
Refused to set unsafe header "Accept-Encoding" 

무엇, 그것이 자동으로 디코딩 : 내가하려고 할 때 오류가 발생할 수 브라우저? 이것은 가능한가? 다른 종류의 브라우저 요청이있을 경우 AJAX 요청이 자동으로 gzip 콘텐츠를 디코딩 할 수 있다고 가정합니다. 그러나 내가 볼 수있는 유일한 해결책은 서버가 응답을 수동으로 인코딩해야하고 브라우저 클라이언트가 수동으로 디코딩해야한다는 것입니다.하지만 이는 상당히 차선책으로 보입니다.

는 이미이 답을 찾았지만 그들은 어떤 솔루션을 제공하지 않는 것 : 당신은이를 조정할 필요가 없습니다

App Engine Accept-Encoding JQuery Ajax Request: Change User-Agent

답변

1

. 브라우저는이 헤더를 독자적으로 설정해야합니다. 브라우저가 gzip에 Accept-Encoding 헤더를 설정하지 않으면 브라우저가 gzip을 지원하지 않을 수 있습니다.이 경우 자동으로 디코딩되지 않습니다.

짧은 대답은 기본적으로 아무 것도 할 필요가 없다는 것입니다.

+2

그래도 그래. 기본적으로 Chrome 27.0.1453.116은 AJAX 요청에 대해 "gzip, deflate, sdch"헤더를 제공하고 Firefox 22는 "gzip, deflate"헤더를 제공합니다. 그러나 Google App Engine **은 gzip을 반환하지 않습니다. –

관련 문제