是否有任何技术原因要在网址上用短划线替换空格?

时间:2012-02-03 15:44:26

标签: url whitespace

我想知道是否使用短划线(或任何其他允许的字符)只是因为空格编码(%20)使得网址不易清晰。我没有看到任何技术原因,但可能有一些我不记得或不知道的事情。

2 个答案:

答案 0 :(得分:2)

我认为这主要是由于用户偏好。只要所有组件都能正确处理编码,就不会产生任何技术差异。

这是一篇有趣的文章:http://www.codinghorror.com/blog/2006/04/of-spaces-underscores-and-dashes.html

他更喜欢用划线而不是下划线的观点是有效的,因为大多数搜索引擎将短划线视为断字符,但是下划线并非如此,它被视为单个单词。因此,使用短划线而不是下划线来替换空格是一个有效的技术原因......但我知道在URL本身中使用短划线而不是技术要求。

答案 1 :(得分:1)

虚线可能已被用于其他内容,例如带有破折号的文件名,因此将它们用于空格可能会导致混淆,具体取决于它们的使用方式。

%20是ASCII字符32的十六进制等效值,它是一个空格。

SO使用短划线使URLS“友好”但不是必需的。

根据W3c Spec

  

必须转义网址中的空格和控制字符   HTTP中的传输,以及其他不允许的字符。