url中的参数分隔符,误用问号的情况

el_*_*yan 9 url http web

我真正不懂的是使用'?'的好处 而不是网址中的"&":

问号vs&符号

如果我们使用不同的字符作为第一个分隔符,它会使任何人的生活更轻松.你能想出一个合理的解释吗?

编辑:经过更多的研究,我发现"&"可以是文件名(terms&conditions.html)的一部分,所以"?" 是一个很好的分离器.但我还是觉得用"?" for separators使生活更轻松(从url生成器和解析器的角度来看):

问号作为分隔符

使用"&"是否有任何优势,乍看之下并不清楚?

Jul*_*hke 7

从URI规范(RFC 3986)的角度来看,这里唯一的分隔符是"?".查询的格式是不透明的; &符只是HTML碰巧用于表单提交的东西.

  • 所以答案可能是"HTML和URI单独开发,HTML开发人员没有注意到使用?作为参数分隔符而不是&"的好处,除了我会说"没有注意到"是不准确的.他们可能有充分的理由. (4认同)

Inc*_*ara 5

这篇文章中的答案差不多-http: //www.skorks.com/2010/05/what-every-developer-should-know-about-urls/。要突出显示它,这里是:

查询是将一些参数发送到服务器上资源的首选方法。这些是键=值对,并且与URL的其余部分之间用?分隔。(问号)字符,通常以&(&)字符分隔。您可能不知道的事实是,用分隔符将它们彼此分开是合法的。(分号)字符。以下URL是等效的:

http://www.blah.com/some/crazy/path.html?param1=foo¶m2=bar

http://www.blah.com/some/crazy/path.html?param1=foo;param2