私は、jaxrsを使用して残りのサービスで作成したNetbeans IDEとglassfish 3.1.2でJavaに取り組んでいます。クライアントからのリクエストが行われると、json データを圧縮形式で送信する必要があります。これを行うには、次の図に示すように、glassfish で圧縮を有効にしました。
ただし、サーバーから取得した応答は gzip を使用して圧縮されていません。通常のjsonデータとして受信しています。この問題を克服するにはどうすればよいですか
私は、jaxrsを使用して残りのサービスで作成したNetbeans IDEとglassfish 3.1.2でJavaに取り組んでいます。クライアントからのリクエストが行われると、json データを圧縮形式で送信する必要があります。これを行うには、次の図に示すように、glassfish で圧縮を有効にしました。
ただし、サーバーから取得した応答は gzip を使用して圧縮されていません。通常のjsonデータとして受信しています。この問題を克服するにはどうすればよいですか
これは GF 3.1.2.2 のソリューションです。
バージョン 1.0 の HTTP 要求への応答は圧縮されません。Glassfish サーバーから gzip された応答を取得するには、要求をHTTP 1.1で送信する必要があります。
さらに、http リクエストにヘッダー「Accept-Encoding: gzip」を追加する必要があります。
圧縮された応答を取得するには、双方がそれを使用することに同意する必要があります。圧縮された応答を送信するように GlassFish を構成しました。写真からそれがわかります。
サービスへのリクエストが、GlassFish が圧縮されたレスポンスを受け入れることができることを伝えていることを確認する必要があります。通常、これを行うには、次のヘッダーを HTTP 要求に追加します: Accept-Encoding。ヘッダーについては、HTTP 1.1 要求ヘッダーを定義する RFC ドキュメントを参照してください。
また、 Accept-Encoding に関する SO の質問を読んで、多くの情報を得ることができます。