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