gpt4 book ai didi

http - URL 中的尾随符号是否合法?

转载 作者:可可西里 更新时间:2023-11-01 15:06:07 25 4
gpt4 key购买 nike

像这样的 URL

http://localhost/path?a=b&c=d

没问题 - 但是带有尾随 & 符号的相同 URL 的状态是什么?

http://localhost/path?a=b&c=d&

例如,Java Servlet API 允许在 Scala's Spray 的位置不会(即抛出错误)。

我试图在 URI syntax spec 中找到答案,但不确定如何解析他们的语法。

最佳答案

URI 语法规范适用于通用 URI。它允许 query 中的任何内容.我不知道有任何规范实际上指定了以&符号分隔的键=值对。我相信这只是惯例。例如,我知道 PHP 提供了使用不同分隔符的选项。但是现在,每个人在需要键值对时都使用与号分隔的东西。你仍然偶尔会遇到将它用于简单字符串的东西,例如http://example.com/?example .这是完全正确的。

不过,基本的答案是 & 在查询字符串中的任何地方都有效,包括末尾。


消除 RFC 语法的歧义,或者为什么 & 在查询字符串中的任何地方都有效:

首先,你有

query       = *( pchar / "/" / "?" )

(因此查询字符串由任意数量的 pchar 以及文字斜杠和问号组成。)

回到过去,你有

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

还有更早的时候

sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="

所以一个文字&sub-delims中,在pchar中,所以它在query中是有效的

关于http - URL 中的尾随符号是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6663362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com