我有点困惑。我注意到一些Web API使用|
字符(例如mediawiki api - 请参阅“action = opensearch”,参数“namespace”表示您使用|
分隔项目。
但我也发现根据w3 URL spec和this SO question严格禁止使用。
那么我误解了我见过的例子(例如mediawiki)吗?浏览器URL是否在幕后为我编码?这适用于某些Web浏览器和服务器,但会破坏其他浏览器和服务器吗?
由于我正在创建一个Web API架构,代码将不通过浏览器访问,我想要正确理解这一点。很高兴清楚地使用|
作为某些术语,但如果它看起来太狡猾,我将使用URL编码技巧。
答案 0 :(得分:1)
不,|
不是valid character in URIs,需要使用percent-encoding进行编码。
但除此之外,浏览器可能会将百分比编码的八位字节%7C
显示为|
,就像百分比编码的UTF-8字节序列显示为它们所代表的字符一样。