http://asdf.com/something.do?param1=true?param2=falseのURLは有効ですか?http取得要求の複数のパラメータ
私は二番目とは思わない?有効なURLに許可されていて、代わりにアンパサンド(&)でなければなりませんが、http 1.1 rfcでこれについて何も見つけることができません。何か案は?第二及び第三のため
http://asdf.com/something.do?param1=true?param2=falseのURLは有効ですか?http取得要求の複数のパラメータ
私は二番目とは思わない?有効なURLに許可されていて、代わりにアンパサンド(&)でなければなりませんが、http 1.1 rfcでこれについて何も見つけることができません。何か案は?第二及び第三のため
それは使用する有効でありませんか?再び。 ?パラメータリストの先頭を示す必要があります。 &はパラメータを分離する必要があります。
RFC 3986から:
RFC 1738からURI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
:
HTTPのURLは次の形式をとります。
http:// <host> : <port>/<path> ? <searchpart>
<host>
と<port>
はセクション3.1で説明したとおりです。:<port>
を省略すると、ポートのデフォルトは80になります。ユーザー名またはパスワードは ではありません。<path>
はHTTPセレクタ、<searchpart>
はクエリ 文字列です。<path>
は任意で、<searchpart>
とその後ろの が「?」です。<path>
でも<searchpart>
でもない場合は、「/」 も省略することができます。
<path>
および<searchpart>
のコンポーネントの中で、 "/"、 ";"、 "?" 予約済みです。 "/"文字は、 階層構造を指定するためにHTTP内で使用できます。
アプリケーション/ x-www-form-urlencodedで
これがデフォルトのコンテンツタイプです。
- コントロールの名前と値がエスケープされている次のようにこのコンテンツタイプに提出フォームをエンコードする必要があります。空白文字は
+
に置き換えられ、予約文字は[RFC1738]のセクション2.2で説明されているようにエスケープされます。英数字以外の文字は%HH
、パーセント記号と2文字のASCIIコードを表す2桁の16進数で置き換えられます。改行は「CR LF」のペア(すなわち、%0D%0A
)として表されます。- コントロールの名前と値は、ドキュメントに表示されている順に並べられています。名前は
=
で値から分離され、名前/値のペアは&
で区切られます。
述べたように、それは再びそれを使用するために有効ではありません。しかし、もしあなたが?文字をパラメータ値の一部として使用する場合、%63としてエンコードすることができます(%20としてエンコードされた空白文字と同様)。