Ответы:
Ну, скорее всего , разница в том , что вы все еще должны сделать фактический поиск в localhostгде - то.
Если вы используете 127.0.0.1, то (интеллектуальное) программное обеспечение просто превратит это непосредственно в IP-адрес и использует его. Некоторые реализации gethostbynameбудут обнаруживать точечный формат (и предположительно эквивалентный формат IPv6) и вообще не будут выполнять поиск.
В противном случае имя должно быть разрешено. И нет никакой гарантии, что ваш hostsфайл будет фактически использован для этого разрешения (сначала или вообще), поэтому localhostможет стать совершенно другим IP-адресом.
Я имею в виду, что в некоторых системах локальный hostsфайл можно обойти. В host.confфайл управляет это на Linux (и многие другие юниксов).
/etc/nsswitch.confвыбирает, если hostsили DNS используется первым для поиска хоста, если nss работает.
Википедия подытоживает это хорошо:
В современных компьютерных системах localhost в качестве имени хоста преобразуется в IPv4-адрес в сетевом блоке 127.0.0.0/8 (loopback), обычно 127.0.0.1 или :: 1 в IPv6.
Единственное отличие состоит в том, что он будет искать в DNS систему, localhostк которой она обращается. Этот поиск действительно очень быстрый. Например, чтобы добраться до stackoverflow.comвас, введите это в адресную строку (или используйте букмарклет, который указан здесь). В любом случае, вы попали сюда через имя хоста. localhostобеспечивает аналогичную функциональность.
некоторые приложения будут обрабатывать «localhost» специально. клиент mysql будет обрабатывать localhost как запрос на подключение к локальному сокету домена unix вместо использования tcp для подключения к серверу на 127.0.0.1. Это может быть быстрее и может быть в другой зоне аутентификации.
Я не знаю других приложений, которые обрабатывают localhost иначе, чем 127.0.0.1, но, вероятно, есть некоторые.
Ну, по IP быстрее.
В основном, когда вы звоните по имени сервера, он преобразуется в исходный IP.
Но было бы трудно запомнить IP, по этой причине доменное имя было создано.
Лично я использую http://localhostвместо http://127.0.0.1или http://username.
localhostв особым образом . Другие приложения, вероятно, все еще будут искать localhost.
Основное отличие состоит в том, что соединение может быть установлено через Unix Domain Socket, как указано здесь: localhost vs. 127.0.0.1
localhostчто протокол не зависит, будут работать как IPv4, так и IPv6.