3

如果我有一个带有查询参数的 URL,“转义”& 查询参数分隔符是否有效?

前任。

<a href="/foo.html?cat=meow&dog=woof">go</a>

对比

<a href="/foo.html?cat=meow&amp;dog=woof">go</a>

RFC 2396 明确指出使用“&”是正确的,但我找不到任何关于使用保留字符的转义版本的(无效)有效性。

我注意到的一件事是 Chrome 似乎在单击浏览器中的链接时会原谅他们,但是当我查看页面的源代码并从视图源单击链接 (/foo.html?cat=meow&dog=woof) 时查看,它不起作用。

我很想知道是否有任何规范/部分我可以指出“只使用 & 不使用 & 或 %26 (这是 & URL 编码的)。

(注意:当我开始使用 wa 代码库以这种方式构建其 URL 时,就会出现这个问题,我个人会使用 '&')

RCF 2396:http ://www.ietf.org/rfc/rfc2396.txt

更新 1

正确 - 服务器写入页面的实际 URL 是:<a href="/foo.html?cat=meow&dog=woof" >go</a> .. 是否有说明使用 & 有效性的规范作为查询参数分隔符?我不是在浏览器中寻找“最有效的方法”,而是寻找分隔查询参数的正确方法。

4

2 回答 2

2

TLDR;评估为的所有公式&都同样有效。

从OP的链接:

与许多使用类似 BNF 的语法来定义协议允许的字节(八位字节)的规范不同,URI 语法是根据字符定义的。 语法中的每个文字都对应于它所代表的字符,而不是对应于任何特定编码字符集中该字符的八位字节编码。 URI 如何在线路上以位和字节表示取决于用于传输它的协议的字符编码,或包含它的文档的字符集。

-- RFC: 2396 - 统一资源标识符 (URI):通用语法 1998 年 8 月

经过

T.伯纳斯-李*

麻省理工学院/LCS

R.菲尔丁

加州大学欧文分校

L.马斯特

施乐公司

*: 多么酷啊!

于 2018-04-23T16:39:48.043 回答
1

转义发生在 HTML 中 - 当您单击此类链接时,浏览器将&amp;视为&.

要对&URL 进行编码,您可以将其编码%26.

于 2012-08-08T12:53:14.243 回答