我可以使用“|”吗?在网址中?
我对此有点困惑。我注意到一些 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,
|
不是有效字符在 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.