Content-Encoding

概要

Content-Encodingとは、HTTPヘッダのフィールド(項目)の一つで、本体(ボディ)として送信するデータが圧縮されている場合に、どの形式で圧縮したかを伝達するもの。

HTTPWebサーバWebクライアント(Webブラウザなど)の間でデータの伝送を行なう通信規約(プロトコル)の一つで、通信の制御情報を前半部のHTTPヘッダに記述し、後半のHTTPボディが伝送内容の本体を表す。ヘッダは改行区切りのテキスト(文字)形式で「項目名: 値(改行)」という記法で設定を列挙する。

Content-Encodingはヘッダで最も一般的に用いられる項目の一つで、ボディ部に積載したデータがWebサーバによって動的にデータ圧縮されている場合に、どの圧縮アルゴリズムが用いられたかを相手方に知らせる。クライアントからサーバに要求を伝えるHTTPリクエストサーバからクライアントに応答を伝えるHTTPレスポンスの両方で使用できる。

gzip」が指定された場合はLZ77アルゴリズム(UNIX系のgzipコマンドの圧縮形式)が用いられ、同様に「compress」ならLZWアルゴリズム(UNIX系のcompressコマンドの圧縮形式)、「deflate」ならDeflateアルゴリズムzlibライブラリの圧縮形式)、「br」ならBrotliアルゴリズムがそれぞれ使われている。無圧縮であることを明示したい場合は「identity」を指定する。

伝送する内容が文字(テキスト形式)である場合には、これらの圧縮形式により数分の一といった少ないデータ量で伝送することができるが、既に圧縮されている画像ファイルなどの場合はあまり圧縮されないか、かえってデータ量が増える場合もある。クライアントからサーバにどの形式で圧縮して欲しいか伝達することもでき、HTTPリクエスト中で「Accept-Encoding」ヘッダを指定する。

(2023.1.20更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。