Angenommen, Folgendes ist definiert in .../hosts
:
127.0.0.1 localhost
Was sind, wenn überhaupt, die tatsächlichen Unterschiede zwischen der Verwendung von 127.0.0.1
und localhost
als Servername, insbesondere wenn lokal laufende Prozesse getroffen werden, die auf Verbindungen warten?
sockets
networking
dns
localhost
Böhmisch
quelle
quelle
localhost
ist protokollunabhängig, sowohl IPv4 als auch IPv6 funktionieren.Antworten:
Nun, der höchstwahrscheinliche Unterschied ist , dass Sie immer noch einen tatsächlichen zu tun haben Nachschlag von
localhost
irgendwo.Wenn Sie verwenden
127.0.0.1
, wandelt (intelligente) Software diese direkt in eine IP-Adresse um und verwendet sie. Einige Implementierungen vongethostbyname
erkennen das gepunktete Format (und vermutlich das entsprechende IPv6-Format) und führen überhaupt keine Suche durch.Andernfalls muss der Name aufgelöst werden. Und es gibt keine Garantie dafür, dass Ihre
hosts
Datei tatsächlich (zuerst oder überhaupt) für diese Auflösung verwendet wird , sodasslocalhost
möglicherweise eine völlig andere IP-Adresse verwendet wird.Damit meine ich, dass auf einigen Systemen eine lokale
hosts
Datei umgangen werden kann. Diehost.conf
Datei steuert dies unter Linux (und vielen anderen Unices).quelle
/etc/nsswitch.conf
Wählt aus, obhosts
oder DNS zuerst für eine Hostsuche verwendet wird, wenn nss ausgeführt wird.Wikipedia fasst das gut zusammen:
Der einzige Unterschied besteht darin, dass im DNS nach dem System gesucht wird, in das aufgelöst wird
localhost
. Diese Suche ist sehr, sehr schnell. Um zustackoverflow.com
Ihnen zu gelangen, geben Sie dies beispielsweise in die Adressleiste ein (oder verwenden Sie ein Lesezeichen, auf das hier verwiesen wird). In jedem Fall sind Sie über einen Hostnamen hierher gekommen.localhost
bietet eine ähnliche Funktionalität.quelle
Einige Anwendungen behandeln "localhost" speziell. Der MySQL-Client behandelt localhost als eine Anforderung, eine Verbindung zum lokalen Unix-Domain-Socket herzustellen, anstatt tcp zu verwenden, um eine Verbindung zum Server unter 127.0.0.1 herzustellen. Dies kann schneller sein und sich in einer anderen Authentifizierungszone befinden.
Ich kenne keine anderen Apps, die localhost anders behandeln als 127.0.0.1, aber es gibt wahrscheinlich einige.
quelle
Nun, per IP ist schneller.
Grundsätzlich wird beim Aufrufen nach Servernamen die ursprüngliche IP-Adresse konvertiert.
Es ist jedoch schwierig, sich eine IP zu merken. Aus diesem Grund wurde der Domainname erstellt.
Persönlich benutze ich
http://localhost
anstelle vonhttp://127.0.0.1
oderhttp://username
.quelle
localhost
auf besondere Weise behandelt wird . Andere Anwendungen werden wahrscheinlich noch nachschlagenlocalhost
.Es gibt nichts anderes. Einer ist leichter zu merken als der andere. Im Allgemeinen definieren Sie einen Namen, der einer IP-Adresse zugeordnet werden soll. Sie müssen localhost für 127.0.0.1 nicht angeben, Sie können einen beliebigen Namen angeben.
quelle
Der Hauptunterschied besteht darin, dass die Verbindung über Unix Domain Socket hergestellt werden kann, wie hier angegeben: localhost vs. 127.0.0.1
quelle