http://asdf.com/something.do?param1=true?param2=false形式的网址是否有效?
我不认为第二个?允许在有效网址中,它应该是一个&符号(&),但我无法在http 1.1 rfc中找到任何相关信息。有什么想法吗?
答案 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 等级结构。
答案 1 :(得分:4)
使用&amp;第二和第三
答案 2 :(得分:1)
<强>应用程序/ x-WWW窗体-urlencoded 强>
这是默认内容类型。使用此内容类型提交的表单必须按如下方式编码:
- 转义控件名称和值。空格字符由
+
替换,然后保留字符按照[RFC1738]第2.2节中的描述进行转义:非字母数字字符由%HH
替换,百分号和两个代表ASCII的十六进制数字角色的代码。换行符表示为“CR LF”对(即%0D%0A
)。- 控件名称/值按它们在文档中出现的顺序列出。该名称与值
醇>=
分开,名称/值对由&
分隔。
答案 3 :(得分:0)
如前所述,再次使用它是无效的。但是,如果你有?作为参数值的一部分,您可以将其编码为%63(就像编码为%20的空格字符一样)。