http中的多个参数获取请求

时间:2009-03-04 20:20:59

标签: http query-string uri

http://asdf.com/something.do?param1=true?param2=false形式的网址是否有效?

我不认为第二个?允许在有效网址中,它应该是一个&符号(&),但我无法在http 1.1 rfc中找到任何相关信息。有什么想法吗?

4 个答案:

答案 0 :(得分:7)

使用无效?再次。 ?应指明参数列表的开头。 &安培;应该分开参数。

来自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>和{{1}}组件中,“/”,“;”,“?”是   保留。可以在HTTP中使用“/”字符来指定a   等级结构。

search part/query part is described here

答案 1 :(得分:4)

使用&amp;第二和第三

即。 http://asdf.com/something.do?param1=true&param2=false

答案 2 :(得分:1)

  

<强>应用程序/ x-WWW窗体-urlencoded

     

这是默认内容类型。使用此内容类型提交的表单必须按如下方式编码:

     
      
  1. 转义控件名称和值。空格字符由+替换,然后保留字符按照[RFC1738]第2.2节中的描述进行转义:非字母数字字符由%HH替换,百分号和两个代表ASCII的十六进制数字角色的代码。换行符表示为“CR LF”对(即%0D%0A)。
  2.   
  3. 控件名称/值按它们在文档中出现的顺序列出。该名称与值=分开,名称/值对由&分隔。
  4.         

    - application/x-www-form-urlencoded

答案 3 :(得分:0)

如前所述,再次使用它是无效的。但是,如果你有?作为参数值的一部分,您可以将其编码为%63(就像编码为%20的空格字符一样)。