我可以用'|'在URL中?

时间:2011-06-13 11:09:56

标签: url web-standards asp.net-web-api

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

但我也发现根据w3 URL specthis SO question严格禁止使用。

那么我误解了我见过的例子(例如mediawiki)吗?浏览器URL是否在幕后为我编码?这适用于某些Web浏览器和服务器,但会破坏其他浏览器和服务器吗?

由于我正在创建一个Web API架构,代码将不通过浏览器访问,我想要正确理解这一点。很高兴清楚地使用|作为某些术语,但如果它看起来太狡猾,我将使用URL编码技巧。

1 个答案:

答案 0 :(得分:1)

不,|不是valid character in URIs,需要使用percent-encoding进行编码。

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