HTTP
レスポンスのエンコーディングと圧縮
サーチ…
HTTP圧縮
HTTPメッセージ本文は圧縮できます(HTTP / 1.1以降)。サーバーが要求を圧縮し、 Content-Encoding
ヘッダーを追加するか、またはプロキシがTransfer-Encoding
ヘッダーを追加して追加します。
クライアントはAccept-Encoding
要求ヘッダーを送信して、どのエンコーディングを受け入れるかを示すことができます。
最も一般的に使用されるエンコーディングは次のとおりです。
- "gzip"ファイルの圧縮プログラム( RFC1952 )でCRC32チェックサムを実装したgzip - deflateアルゴリズム(LZ77)
- deflate - "zlib"データ形式( RFC1950 )、deflateアルゴリズム(ハイブリッドLZ77とハフマン)とAdler32チェックサム
複数の圧縮方法
HTTP応答メッセージ本文を複数回圧縮することは可能です。エンコーディング名は、適用された順にカンマで区切ります。たとえば、メッセージがdeflateで圧縮されてからgzipで圧縮された場合、ヘッダーは次のようになります。
Content-Encoding: deflate, gzip
複数のContent-Encoding
ヘッダーも有効ですが、推奨されません。
Content-Encoding: deflate
Content-Encoding: gzip
gzip圧縮
クライアントはまず、gzipをサポートしていることを示すAccept-Encoding
ヘッダーで要求を送信します。
GET / HTTP/1.1\r\n
Host: www.google.com\r\n
Accept-Encoding: gzip, deflate\r\n
\r\n
サーバーは圧縮された応答本文と、gzipエンコーディングが使用されたことを指定するContent-Encoding
ヘッダーを含む応答を送信することができます。
HTTP/1.1 200 OK\r\n
Content-Encoding: gzip\r\n
Content-Length: XX\r\n
\r\n
... compressed content ...
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow