为什么使用 - 而不是在网址中关闭_

时间:2011-03-19 15:16:52

标签: url

为什么要使用 - 而不是在网址中关闭_? 包含'_'的网址似乎没有不良影响。

5 个答案:

答案 0 :(得分:45)

主机名中不允许使用下划线。因此,some_place.com不是有效的URL,因为主机名无效。 URL中允许使用下划线。因此some-place.com/which_place/是完全合法的,其他问题放在一边。

来自RFC 1738:

  

宿主

     
   [...] Fully qualified domain names take the form as described
   in Section 3.5 of RFC 1034 [13] and Section 2.1 of RFC 1123
   [5]: a sequence of domain labels separated by ".", each domain
   label starting and ending with an alphanumerical character and
   possibly also containing "-" characters. The rightmost domain
   label will never start with a digit, though, which
   syntactically distinguishes all domain names from the IP
   addresses.
  

答案 1 :(得分:30)

当您阅读a_long_sentence_with_many_underscores时,因为您正在通过字母或单词识别来阅读它,您的眼睛沿着线条的中间跟踪,但是当您到达下划线时,您的眼睛更有可能追踪并备份下一个词。

当你阅读长篇大论时,你的眼睛会沿着同一个地平线追踪,通过视觉,你的大脑更容易尝试忽略它们。

另一个很好的理由是,当单词分隔符为短划线时,Google和其他搜索引擎会将与搜索字词匹配的网址排名更高。

答案 2 :(得分:4)

顺便说一下......在使用下划线时,似乎有几个Java网络库无法正确解释URL:

URI uri = URI.create("http://www.google-plus.com/");
System.out.println(uri.getHost()); // prints www.google-plus.com

URI uri = URI.create("http://www.google_plus.com/");
System.out.println(uri.getHost()); // prints null

答案 3 :(得分:3)

一个主要原因是大多数锚标签都有text-decoration:underline,这有效地隐藏了你的下划线 并且,非技术精明的用户不会自动假设有下划线:)

答案 4 :(得分:1)

更容易输入(至少在我的德语键盘上)并查看。