読み方 : コンテントディスポジション

Content-Disposition

概要

Content-DispositionとはHTTPレスポンスヘッダの一種で、サーバから送られてきたデータを利用者側でどう扱うか指示するもの。Webブラウザ上にそのまま表示させるか、ファイルとして保存させるかを制御する目的で使われる。仕様はRFC 6266で定義されている。
Content-Dispositionのイメージ画像

サーバがContent-Dispositionを指定しない場合、ブラウザContent-Typeヘッダなどをもとに表示方法を判断し、対応可能な形式であればそのまま画面に表示する。Content-Dispositionに「inline」を指定した場合も同様に画面内表示となるが、「attachment」を指定すると、ブラウザは表示を行わず保存用のダイアログを開き、利用者にダウンロードを促す。

「attachment」を指定する際には、「filename」パラメータを併記することが多い。これにより、ダウンロード時のデフォルトのファイル名サーバ側から指定できる。例えば、「Content-Disposition: attachment; filename="report.pdf"」と記述すれば、ブラウザ側では「report.pdf」という名前で保存ダイアログが表示される。

日本語などの非ASCII文字を含むファイル名を指定する場合は「filename*」パラメータを用い、UTF-8パーセントエンコーディングで表記する。両方のパラメータが存在するとき、モダンブラウザはfilename*を優先し、非対応の古いクライアントはfilenameを利用する。通常、ファイル名は利用者が保存ダイアログ上で指定することもできる。

Webサイトの開発者は、PDFや画像、圧縮ファイルなど、リンクを開くとそのままブラウザ表示されてしまう種類のデータを確実にダウンロードさせたい場合、この設定を組み込む。「ダウンロード」ボタンを押した際に保存ダイアログが開き、あらかじめ適切なファイル名が入力されているのは、この仕組みによるものである。

このヘッダはもともと電子メールの規格である「MIME」(Multipurpose Internet Mail Extensions)において、添付ファイルの扱いを示すために定義されたものであり、後にHTTPの仕様にも取り入れられた。電子メールでは本文中に埋め込むインライン表示と別途保存する添付ファイルを区別する目的で使われ、HTTPでもその考え方が引き継がれている。

HTTPにおける用途はもう一つあり、multipart/form-data形式のPOSTリクエストである。フォームデータマルチパートで送信する際、各パートにContent-Dispositionを付与し、フォームフィールドの名前やアップロードファイルのファイル名を示す役割がある。この場合はレスポンスではなくHTTPリクエストヘッダの一部としてブラウザ側で付与される。

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