multipart/form-data

概要

multipart/form-dataとは、電子メール添付ファイルHTTP通信ファイルの種別を表すのに用いられるMIMEタイプの一つで、HTMLフォームによるデータ送信を意味するもの。WebブラウザからWebサーバへのファイルアップロードなどに用いられる。

メールに様々な種類のファイル添付できるMIMEMultipurpose Internet Mail Extensions)では、「MIMEタイプ」という識別名データ形式を指定する。これは「タイプ/サブタイプ」という形式の文字列で、HTMLであれば「text/html」となる。HTTPでもこの仕様が利用され、HTTPヘッダContent-TypeフィールドMIMEタイプを記述する。

multipart」タイプは複合データを表し、複数のデータの組み合わせを一度に伝送したい場合に用いる。「form-data」サブタイプはフォームから送信であることを表し、フォームへの入力内容や指定したファイルなどを組み合わせてサーバに送信する場合に用いられる。

HTMLform要素の属性で「enctype="multipart/form-data"」を指定し、HTTPリクエストヘッダでは「Content-Type: multipart/form-data; boundary=境界文字列」のように指定する。リクエストボディ中、境界文字列の先頭に「--」を付加した文字列が現れると、そこがデータの境界とみなされる。例えば「boundary=qawsedrf123」であれば、「--qawsedrf123」が区切り文字として用いられる。

境界文字列に続けて各データの本体を記載していくが、先頭にデータ形式やファイル名などを指定するヘッダ部を付加することができる。HTTPリクエストヘッダと同じ形式で、「Content-Type:image/jpeg」のようにMIMEタイプの指定、「Content-Disposition: form-data; name="フィールド名" filename="ファイル名"」のようにフォーム上のフィールド名やファイル名の指定を行う。

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