我可以使用“|”吗?在网址中?

发布于 2024-11-15 13:16:00 字数 633 浏览 4 评论 0原文

我对此有点困惑。我注意到一些 Web API 使用 | 字符(例如 mediawiki api - 请参阅“action=opensearch”,参数“namespace”表示您用 | 分隔项目)。

但是我也发现,根据 w3 URL 规范 和这个问题

那么我是否误解了我所看到的示例(例如 mediawiki)?浏览器 URL 是否会在幕后为我进行编码?这是否适用于某些网络浏览器和服务器,但会破坏其他网络浏览器和服务器?

当我创建一个 Web API 模式时,代码将不通过浏览器进行访问,我想正确理解这一点。明确使用 | 来表示某些术语会很好,但如果它看起来太狡猾,我将使用 URL 编码技巧。

I'm a little confused by this. I notice that some web APIs use the | character (eg the mediawiki api - see "action=opensearch", the parameter "namespace" says you separate items with |).

However I also see that it is strictly not allowed according to the w3 URL spec and this SO question.

So have I misunderstood the examples (such as mediawiki) that I've seen? Do the browsers URL encode it for me behind the scenes? Does this work with some web browsers and servers but will break in others?

As I'm creating a web API schema that code will be accessing not going through a browser I'd like to understand this properly. It would be nice to clear to use | for some terms, but I'll use the URL encode trick if it seems too dodgy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巡山小妖精 2024-11-22 13:16:00

不,| 不是有效字符在 URI 中,需要使用 百分比编码

但除此之外,浏览器可能会将百分比编码的八位字节 %7C 显示为 |,就像百分比编码的 UTF-8 字节序列显示为它们所代表的字符一样。

No, the | is not a valid character in URIs and needs to be encoded using the percent-encoding.

But apart from this, browsers might display the percent-encoded octet %7C as | just like percent-encoded UTF-8 byte sequences are displayed as the characters they represent.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文