application/x-www-form-urlencoded
概要
application/x-www-form-urlencodedとは、HTTP通信でファイルの種別を表すのに用いられるMIMEタイプの一つで、Webページの入力フォームの記入内容をWebサーバへ送信する際のテキスト形式を意味するもの。一部の文字の変換が行われる。Webコンテンツを伝送するためのプロトコルであるHTTPでは、「Content-Type:」ヘッダで送信データの形式を指定する。形式を表すコードは「MIMEタイプ」と呼ばれ、「タイプ/サブタイプ」という形式で表される。HTMLであれば「text/html」、JPEGであれば「image/jpeg」となる。
applicationタイプのうち、x-www-form-urlencodedサブタイプは、その名が示す通りフォームの内容をサーバへ送信する際のテキストデータの形式を規定している。WebブラウザからWebサーバへPOSTメソッドでフォームの内容を送信する際、この形式のデータがHTTPリクエストボディに積載される。
GETメソッドでURLの末尾にパラメータを記述するためのURLエンコード(パーセントエンコーディング)形式とほとんど同じ形式で、フォーム中の項目名と入力値を「=」(イコール)で対応付け、「項目1=値1&項目2=値2&…」のように「&」(アンパサンド)で連結する。
項目名や入力値を構成する文字のうち、半角英数字と「*」「-」「.」「_」はそのまま記載するが、これ以外の記号文字や日本語などの非ASCII文字は文字コードを用いて「%コード番号」という表記に置き換える。ただし、空白文字(スペース)は「+」記号に置き換える。
例えば、半角シャープ「#」は「%23」に、UTF-8の「あ」は文字コードのE38182(16進数表記)を用いて「%E3%81%82」のように表される。文字コードはUTF-8が標準とされ、ヘッダ内で直接指定する方法はないが、慣用的に「_charset」という名前のパラメータに文字コード名を指定するとそのコードで解釈する仕様が広まっている。
(2024.3.21更新)