Chrome URL是否有注解字符?

mu0hgdu0  于 2023-10-14  发布在  Go
关注(0)|答案(2)|浏览(123)

是否有一个特定的字符可以在URL中使用,在该字符之后的任何文本都将被浏览器忽略?
举例来说:如果波浪号是这样的字符,我有一个像www.stackoverflow.com/~aComment这样的链接(添加了注解),它会忽略'aComment'并打开www.stackoverflow.com/。但由于波浪号不是评论字符,它现在只显示一个'页面未找到'页面。
换句话说,如何在不破坏URL的情况下向其添加注解?

s71maibg

s71maibg1#

URL的**没有这样的东西。有些东西可以添加到URL中,这些东西通常会起作用,但没有办法保证对每个URL都起作用。
我能想到的两个选择,你可能会有最成功的:

The URI fragment

URL中#之后的所有内容都不会发送到服务器。它可以用来指向页面的一部分。它也可以被JavaScript查询,因此如果JavaScript看到它不期望的东西,它可能会导致问题。
范例:

https://www.example.com/path#comment

The query string

查询字符串用于向特定于路径的URL添加特定的详细信息。此部分 * 被发送到服务器。大多数服务器会忽略它们无法识别的查询字符串,但不能保证这一点。服务器在找到它们不期望的查询字符串参数时可能会抛出错误或出现其他意外行为。
范例:

https://www.example.com/path?comment=value

或者当有多个查询字符串参数时:

https://www.example.com/path?param1=value1&comment=value

你可以使用这两个URL的这个问题,看看他们的工作。点击此链接将显示您的问题将加载罚款。
当然,由于你使用的是URL,所有添加到URL的值都应该正确编码,这样它们就不会破坏语法。

krcsximq

krcsximq2#

根据RFC 9110,您可以使用打开和关闭括号来表示URL中的注解。
5.6.5.注解注解可以包含在某些HTTP字段中,方法是用括号将注解文本括起来。注解仅允许在包含“注解”的字段中作为其字段值定义的一部分。

comment        = "(" *( ctext / quoted-pair / comment ) ")"
ctext          = HTAB / SP / %x21-27 / %x2A-5B / %x5D-7E / obs-text

但我不完全确定它是如何工作的。我想问你同样的问题,现在我们等着吧。

相关问题