2016-09-07 4 views
0

はを自動的に処理すると言われています(resp.Bodyから読むと自動解凍のように)。HTTPプロキシがContent-Encodingヘッダーをクライアントにコピーする必要がありますか?

Content-Encodingは、エンドツーエンドのHTTPヘッダーであり、ホップバイホップではありません。

したがって、プロキシがクライアントの応答ヘッダにバックContent-Encodingをコピーした場合、またio.Copyこのプロキシ(resp.Bodyから読み出されますio.Copyので、自動的に解凍することができる)上流のレスポンスボディは、それがクライアントに矛盾しないのだろうか? (Content-Encodingはアップストリームレスポンスからコピーされていますが、ボディは解凍されています)

答えて

0

一般に、Content-Encodingレスポンスヘッダーはプロキシによって変更されるべきではありません。

同じURIの異なるエンコーディングは、異なる表現であるとみなされ、異なるETagを持ちます。したがって、Content-Encodingを変更するとキャッシュがうまくいかないでしょう。

あなた自身のエコシステムで自分のプロキシとクライアントであれば、何が起こっているのか分かっているのでそれを行うことができます。したがって、プロキシがクライアントにデータを解凍している場合、Content-Encodingヘッダ。

+0

私が 'io.Copy(rw、resp.Body)'を使うとき、 'Go'では、' Content-Encoding'ヘッダをコピーすべきかどうか? – dastan

関連する問題