サーチ…


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