Несколько параметров в http получить запрос - PullRequest
6 голосов
/ 04 марта 2009

Действительны ли URL-адреса формы http://asdf.com/something.do?param1=true?param2=false?

Не думаю, что второй? разрешено в действительных URL-адресах, и вместо этого он должен быть амперсандом (&), но я не могу найти ничего об этом в http 1.1 rfc. Есть идеи?

Ответы [ 4 ]

7 голосов
/ 04 марта 2009

Недействительно для использования? снова. ? должен указывать начало списка параметров. & должен разделять параметры.

С 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 для обозначения иерархическая структура.

Здесь описана поисковая часть / часть запроса .

4 голосов
/ 04 марта 2009

использовать & для второго и третьего

т.е. http://asdf.com/something.do?param1=true&param2=false

1 голос
/ 04 марта 2009

применение / х-WWW-форм-urlencoded

Это тип контента по умолчанию. Формы, представленные с этим типом содержимого, должны быть закодированы следующим образом:

  1. Имена и значения элементов управления экранированы. Символы пробела заменяются на +, а затем зарезервированные символы экранируются, как описано в [RFC1738], раздел 2.2: не буквенно-цифровые символы заменяются на %HH, знак процента и две шестнадцатеричные цифры, представляющие код ASCII символа , Разрывы строк представляются в виде пар "CR LF" (то есть %0D%0A).
  2. Имена / значения элементов управления перечислены в порядке их появления в документе. Имя отделяется от значения =, а пары имя / значение отделяются друг от друга &.

- application / x-www-form-urlencoded

0 голосов
/ 04 марта 2009

Как уже упоминалось, его нельзя использовать снова. Однако, если у вас есть? символ как часть значения параметра, вы можете кодировать его как% 63 (точно так же, как символ пробела, который кодируется как% 20).

...