「パーセントエンコーディング」の版間の差分

削除された内容 追加された内容
URLエンコードの用語が2種類あることを記載。参考文献を追加。
1行目:
'''パーセントエンコーディング'''({{Lang-en-short|Percent-Encoding}})とは、[[Uniform Resource Identifier|URI]]において使用できない文字を使う際に行われるエンコード(一種のエスケープ)の名称である。[http://tools.ietf.org/html/rfc3986#section-2.1 RFC3986のSection 2.1]で定義されている。一般に'''URLエンコード'''(ゆーあーるえるえんこーど)とも称される。
 
'''URLエンコード'''と言う用語は上記のパーセントエンコーディングによる符号化と以下に記述する[[#application/x-www-form-urlencoded|application/x-www-form-urlencoded]]による符号化の2種類がある。[[半角スペース]]はパーセントエンコーディングでは「%20」に符号化されるが、[[#application/x-www-form-urlencoded|application/x-www-form-urlencoded]]による符号化では「+」に符号化される。
 
== 概要 ==
13 ⟶ 15行目:
 
== application/x-www-form-urlencoded ==
[[Hypertext Transfer Protocol|HTTP]]の[[Hypertext Transfer Protocol#メソッド|POST]]メソッドで[[フォーム (ウェブ)|Webフォーム]]の文字列を送信する場合に、文字列はエンコードして送信される。その際の符号化方法は[[Multipurpose Internet Mail Extensions|MIME]]の[[Multipurpose Internet Mail Extensions#Content-Type|Content-Type]]がapplication/x-www-form-urlencodedで指定される。この符号化方法は[http://tools.ietf.org/html/rfc1866#section-8.2.1 RFC1866のSection-8.2.1]で定義されている。この符号化方法を'''URLエンコード'''と言うことがある。
 
application/x-www-form-urlencodedでは、[[半角スペース]]([[ASCII]]コード 20)は「+」に変換される。このため、バイナリデータを[[Base64]]経由で直接[[Hypertext Transfer Protocol#メソッド|POST]]することはできず、下記の手順で[[Base64#変形版|Base64Url]]に変換してPOSTする必要がある。
 
# BASE64でテキスト化
28 ⟶ 30行目:
 
== 脚注 ==
{{reflistReflist}}
 
== 参考文献 ==
*[http://tools.ietf.org/html/rfc1866 RFC 1866] - Hypertext Markup Language - 2.0
*: [http://tools.ietf.org/html/rfc1866#section-8.2.1 8.2.1章 The form-urlencoded Media Type]でapplication/x-www-form-urlencodedによる符号化が定義されている。
*[http://tools.ietf.org/html/rfc3986 RFC 3936] - Uniform Resource Identifier (URI): Generic Syntax
*: [http://tools.ietf.org/html/rfc3986#section-2.1 2.1章 Percent-Encoding]にパーセントエンコーディングが定義されている。
 
== 関連項目 ==