URL有注释字符吗?

问题描述 投票:0回答:2

是否存在可以在 URL 中使用的特定字符,浏览器会忽略该字符之后的任何文本?

例如:如果波浪号是这样的字符,并且我有一个像 www.stackoverflow.com/~aComment 这样的链接(添加了评论),它只会忽略 'aComment' 并打开 www.stackoverflow.com/ 。但由于波形符不是评论字符,它现在只显示“未找到页面”页面。

换句话说,如何在不破坏 URL 的情况下添加评论?

google-chrome url browser hyperlink url-rewriting
2个回答
5
投票

URL 没有这样的东西。您可以将某些内容添加到经常起作用的 URL 中,但无法保证对每个 URL 都有效。

我能想到的两个您可能最成功的选择:

URI 片段

URL 中

#
之后的所有内容都不会发送到服务器。它可用于指向页面的一部分。它还可以由 JavaScript 查询,因此如果 JavaScript 看到它不期望的内容,可能会导致问题。

示例:

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

查询字符串

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

示例:

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

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

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

您可以使用这两个问题的 URL 来查看它们的工作情况。 单击此链接将显示问题可以正常加载。

当然,由于您正在使用 URL,因此添加到其中的所有值都应该正确编码,这样它们就不会破坏语法。


0
投票

根据 RFC 9110 您可以使用左括号和右括号来表示 url 中的注释。但我完全不确定它是如何工作的。我想问和你一样的问题,现在我们等待吧。

© www.soinside.com 2019 - 2024. All rights reserved.