Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是'|';语义URL的推荐分隔符?_Url_Delimiter_Percent Encoding - Fatal编程技术网

是'|';语义URL的推荐分隔符?

是'|';语义URL的推荐分隔符?,url,delimiter,percent-encoding,Url,Delimiter,Percent Encoding,在对谷歌等公司进行研究后,似乎有一些相互矛盾的观点 Google Chrome将分隔符替换为%7C,而Firefox和Safari没有,我们遇到了一个问题 下面是一个例子: http://www.example.com/page1|子页2 |子页3 在为语义URL选择分隔符字符时,是否有严格的规则要遵循?在使用时是否有强烈的反对理由(或解决方法?在URL中不是有效字符。现代浏览器在发送时会将其静默编码为%7C,地址栏中可能显示也可能不显示此更改。类似地,服务器将为您静默解码字符 这在上个千年可

在对谷歌等公司进行研究后,似乎有一些相互矛盾的观点

Google Chrome将分隔符替换为
%7C
,而Firefox和Safari没有,我们遇到了一个问题

下面是一个例子:

http://www.example.com/page1|子页2 |子页3

在为语义URL选择分隔符字符时,是否有严格的规则要遵循?在使用
时是否有强烈的反对理由(或解决方法?

在URL中不是有效字符。现代浏览器在发送时会将其静默编码为
%7C
,地址栏中可能显示也可能不显示此更改。类似地,服务器将为您静默解码字符


这在上个千年可能是个问题,浏览器会因为没有指定
http://
而崩溃,但今天你可以随心所欲地使用,浏览器会处理好它。但是,Markdown之类的自动解析器可能不同意它是一个有效的URL。在这种情况下,它看起来是这样的,但在我的论坛上尝试一下,它会向你抱怨。

在发出页面请求后在地址栏中显示url时,Internet explorer/chrome使用url编码,%7C是显示管道的安全方式(“|”) 所以chrome这样做不是问题


作为一种厚颜无耻的修复方法,让所有浏览器的行为都相同,为什么不使用%7C作为“开始”的分隔符,而不是管道,然后所有浏览器都应该在后台将其解释为管道,但在地址栏中将其显示为&7C。

您在哪里使用它以“显示”,不同浏览器的情况也不同?如果它们是子页面,那么应该是
/
,如果这是一个打字错误,那么,您已经在
子页面中使用了
-
,那么为什么不使用它来代替
|
?另请参见(相同的操作):