Відповіді:
Ну, швидше за все , різниця в тому , що ви все ще повинні зробити фактичний пошук в 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 (циклічний зворот), як правило, 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-адресу, з цієї причини було створено доменне ім'я.
Особисто я використовую http://localhost
замість http://127.0.0.1
або http://username
.
localhost
в особливим чином . Інші програми, ймовірно, все ще шукатимуть localhost
.
Основна відмінність полягає в тому, що з'єднання можна здійснити через Unix Domain Socket, як зазначено тут: localhost vs. 127.0.0.1
localhost
, що протокол не залежить, і IPv4, і IPv6 працюватимуть.