Действительны ли URL-адреса формы http://asdf.com/something.do?param1=true?param2=false?
Не думаю, что второй? разрешено в действительных URL-адресах, и вместо этого он должен быть амперсандом (&), но я не могу найти ничего об этом в http 1.1 rfc. Есть идеи?
Недействительно для использования? снова. ? должен указывать начало списка параметров. & должен разделять параметры.
С RFC 3986 :
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
С RFC 1738 :
HTTP-URL принимает форму: http:// <host> : <port> / <path> ? <searchpart> , где <host> и <port> такие, как описано в разделе 3.1. Если :<port> опущен, порт по умолчанию равен 80. Нет имени пользователя или пароля позволил. <path> - это селектор HTTP, а <searchpart> - запрос строка. <path> является необязательным, как и <searchpart> и его предшествующий "?" Если ни <path>, ни <searchpart> нет, то "/" также может быть опущен. Внутри компонентов <path> и <searchpart>, "/", ";", "?" являются зарезервированный. Символ "/" может использоваться в HTTP для обозначения иерархическая структура.
HTTP-URL принимает форму:
http:// <host> : <port> / <path> ? <searchpart>
, где <host> и <port> такие, как описано в разделе 3.1. Если :<port> опущен, порт по умолчанию равен 80. Нет имени пользователя или пароля позволил. <path> - это селектор HTTP, а <searchpart> - запрос строка. <path> является необязательным, как и <searchpart> и его предшествующий "?" Если ни <path>, ни <searchpart> нет, то "/" также может быть опущен.
<host>
<port>
:<port>
<path>
<searchpart>
Внутри компонентов <path> и <searchpart>, "/", ";", "?" являются зарезервированный. Символ "/" может использоваться в HTTP для обозначения иерархическая структура.
Здесь описана поисковая часть / часть запроса .
использовать & для второго и третьего
т.е. http://asdf.com/something.do?param1=true¶m2=false
применение / х-WWW-форм-urlencoded Это тип контента по умолчанию. Формы, представленные с этим типом содержимого, должны быть закодированы следующим образом: Имена и значения элементов управления экранированы. Символы пробела заменяются на +, а затем зарезервированные символы экранируются, как описано в [RFC1738], раздел 2.2: не буквенно-цифровые символы заменяются на %HH, знак процента и две шестнадцатеричные цифры, представляющие код ASCII символа , Разрывы строк представляются в виде пар "CR LF" (то есть %0D%0A). Имена / значения элементов управления перечислены в порядке их появления в документе. Имя отделяется от значения =, а пары имя / значение отделяются друг от друга &. - application / x-www-form-urlencoded
применение / х-WWW-форм-urlencoded
Это тип контента по умолчанию. Формы, представленные с этим типом содержимого, должны быть закодированы следующим образом:
+
%HH
%0D%0A
=
&
- application / x-www-form-urlencoded
Как уже упоминалось, его нельзя использовать снова. Однако, если у вас есть? символ как часть значения параметра, вы можете кодировать его как% 63 (точно так же, как символ пробела, который кодируется как% 20).