зачем использовать - вместо выключения _ в URL - PullRequest
18 голосов
/ 19 марта 2011

зачем использовать - вместо выключения _ в URL?URL содержит '_', похоже, не имеет плохих последствий.

Ответы [ 5 ]

45 голосов
/ 21 октября 2011

Подчеркивания не допускаются в имени хоста. Таким образом, 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.
30 голосов
/ 19 марта 2011

Когда вы читаете a_long_sentence_with_many_underscores, потому что вы читаете его по буквам или по распознаванию слов, ваш глаз отслеживает середину строки, но когда вы достигаете подчеркивания, ваш глаз, скорее всего, будет немного отследить и вернуться к следующее слово.

Когда вы читаете длинное предложение с множеством черточек, ваш глаз отслеживает один и тот же горизонт, и на первый взгляд вашему мозгу легче пытаться игнорировать их.

Еще одна веская причина в том, что Google и другие поисковые системы ранжируют URL-адреса, которые соответствуют поисковым терминам выше, когда разделитель слов является тире.

4 голосов
/ 08 ноября 2013

Кстати ... кажется, что некоторые сетевые библиотеки 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 голосов
/ 19 марта 2011

Одной из основных причин является то, что большинство тегов привязки имеют text-decoration:underline, что эффективно скрывает ваше подчеркивание.
И неопытный пользователь не будет автоматически предполагать, что есть подчеркивание:)

1 голос
/ 19 марта 2011

Проще набрать (по крайней мере на моей немецкой клавиатуре) и посмотреть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...