我想知道是否使用短划线(或任何其他允许的字符)只是因为空格编码(%20)使得网址不易清晰。我没有看到任何技术原因,但可能有一些我不记得或不知道的事情。
答案 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中的传输,以及其他不允许的字符。