Zakładając, że w .../hosts
:
127.0.0.1 localhost
Co, jeśli w ogóle, są rzeczywiste różnice między używaniem 127.0.0.1
i localhost
jako nazwy serwera, zwłaszcza gdy uderzenie procesy uruchomione lokalnie, które są nasłuchiwania połączeń?
sockets
networking
dns
localhost
Czeski
źródło
źródło
localhost
jest niezależny od protokołu, zarówno IPv4, jak i IPv6 będą działać.Odpowiedzi:
Cóż, najprawdopodobniej różnicą jest to, że trzeba jeszcze zrobić rzeczywiste odnośnika z
localhost
gdzieś.Jeśli używasz
127.0.0.1
, (inteligentne) oprogramowanie po prostu zamieni go bezpośrednio na adres IP i użyje go. Niektóre implementacjegethostbyname
wykrywają format z kropkami (i przypuszczalnie równoważny format IPv6) i w ogóle nie sprawdzają.W przeciwnym razie nazwa musi zostać rozwiązana. I nie ma gwarancji, że twój
hosts
plik zostanie faktycznie użyty do tej rozdzielczości (najpierw lub w ogóle), więclocalhost
może stać się zupełnie innym adresem IP.Rozumiem przez to, że w niektórych systemach
hosts
można ominąć plik lokalny . Tehost.conf
kontrole plików to na Linux (i wielu innych Uniksach).źródło
/etc/nsswitch.conf
wybiera, czyhosts
lub DNS jest używany jako pierwszy do wyszukiwania hosta, jeśli działa nss.Wikipedia dobrze to podsumowuje:
Jedyną różnicą jest to, że szukałby w DNS systemu, na który się
localhost
rozwiązuje. To wyszukiwanie jest naprawdę szybkie. Na przykład, aby dostać się dostackoverflow.com
Ciebie, wpisałeś to w pasku adresu (lub skorzystałeś ze wskazanego tutaj bookmarkletu). Tak czy inaczej, dostałeś się tutaj przez nazwę hosta.localhost
zapewnia podobną funkcjonalność.źródło
niektóre aplikacje będą traktować „localhost” specjalnie. klient mysql potraktuje localhost jako żądanie połączenia się z lokalnym gniazdem domeny unix zamiast używać tcp do łączenia się z serwerem na 127.0.0.1. Może to być szybsze i może znajdować się w innej strefie uwierzytelniania.
Nie znam innych aplikacji, które traktują localhost inaczej niż 127.0.0.1, ale prawdopodobnie są.
źródło
Cóż, przez IP jest szybszy.
Zasadniczo, gdy dzwonisz według nazwy serwera, jest on konwertowany na oryginalny adres IP.
Ale zapamiętanie adresu IP byłoby trudne, z tego powodu nazwa domeny została utworzona.
Osobiście używam
http://localhost
zamiasthttp://127.0.0.1
lubhttp://username
.źródło
localhost
w specjalny sposób . Inne aplikacje prawdopodobnie nadal będą wyszukiwaćlocalhost
.Nie ma nic innego. Jeden jest łatwiejszy do zapamiętania niż drugi. Ogólnie rzecz biorąc, definiuje się nazwę, która ma być skojarzona z adresem IP. Nie musisz określać localhost dla 127.0.0.1, możesz podać dowolną nazwę.
źródło
Główną różnicą jest to, że połączenie można nawiązać przez gniazdo domeny Unix, jak podano tutaj: localhost vs. 127.0.0.1
źródło