HTMLフォームがサポートするenctypeタイプは2つだけであることがわかりました。それらはapplication/x-www-form-urlencoded
およびmultipart/form-data
です。ファイルをアップロードする必要があるときにmultipart/form-data
を使用することを理解しています。 application/x-www-form-urlencoded
はいつ使用しますか?それはデフォルトのフォームenctypeですか?
はい、そうです。 W3 HTMLフォーム仕様 からの引用です:
この属性のデフォルト値は
"application/x-www-form-urlencoded"
。値"multipart/form-data"
は、INPUT
要素と組み合わせて使用する必要があります、type="file"
。
Webbrowserは RL encoding を自動的に処理します。
application/x-www-form-urlencoded
これがデフォルトのコンテンツタイプです。このコンテンツタイプで送信されたフォームは、次のようにエンコードする必要があります。
1)コントロールの名前と値はエスケープされます。スペース文字は「+」に置き換えられ、予約文字は[RFC1738]のセクション2.2で説明されているようにエスケープされます:英数字以外の文字は「%HH」、パーセント記号、ASCII文字のコード。改行は「CR LF」ペア(つまり、「%0D%0A」)として表されます。
2)コントロールの名前/値は、ドキュメントに表示される順序でリストされています。名前と値は「=」で区切られ、名前と値のペアは「&」で区切られています。
フォームコンテンツタイプの詳細については this リンクを、ファイルのアップロードなどの詳細については here をご覧ください。
はい、デフォルトのenctype
は application/x-www-form-urlencoded です。