Suponiendo que lo siguiente se define en .../hosts
:
127.0.0.1 localhost
¿Cuáles, si las hay, son las diferencias reales entre usar 127.0.0.1
y localhost
como el nombre del servidor, especialmente cuando se ejecutan procesos que se ejecutan localmente y que están escuchando conexiones?
sockets
networking
dns
localhost
Bohemio
fuente
fuente
localhost
es independiente del protocolo, tanto IPv4 como IPv6 funcionarán.Respuestas:
Bueno, la diferencia más probable es que todavía tienes que hacer una búsqueda real de
localhost
algún lugar.Si lo usa
127.0.0.1
, entonces el software (inteligente) lo convertirá directamente en una dirección IP y lo usará. Algunas implementaciones degethostbyname
detectarán el formato punteado (y presumiblemente el formato IPv6 equivalente) y no realizarán ninguna búsqueda.De lo contrario, el nombre debe ser resuelto. Y no hay garantía de que su
hosts
archivo se use realmente para esa resolución (en primer lugar, o en absoluto), por lo quelocalhost
puede convertirse en una dirección IP totalmente diferente .Con eso quiero decir que, en algunos sistemas,
hosts
se puede omitir un archivo local . Elhost.conf
archivo controla esto en Linux (y muchos otros Unices).fuente
/etc/nsswitch.conf
selecciona sihosts
o DNS se usa primero para una búsqueda de host, si se está ejecutando nss.Wikipedia resume esto bien:
La única diferencia es que buscaría en el DNS el sistema que
localhost
resuelve. Esta búsqueda es muy, muy rápida. Por ejemplo, para llegarstackoverflow.com
tecleó eso en la barra de direcciones (o usó un marcador que apuntó aquí). De cualquier manera, llegó aquí a través de un nombre de host.localhost
Proporciona una funcionalidad similar.fuente
algunas aplicaciones tratarán "localhost" especialmente. el cliente mysql tratará a localhost como una solicitud para conectarse al socket de dominio unix local en lugar de usar tcp para conectarse al servidor en 127.0.0.1. Esto puede ser más rápido y puede estar en una zona de autenticación diferente.
No conozco otras aplicaciones que traten localhost de manera diferente a 127.0.0.1, pero probablemente hay algunas.
fuente
Bueno, por IP es más rápido.
Básicamente, cuando llama por nombre de servidor, se convierte a IP original.
Pero sería difícil memorizar una IP, por esta razón se creó el nombre de dominio.
Personalmente uso en
http://localhost
lugar dehttp://127.0.0.1
ohttp://username
.fuente
localhost
de manera especial . Es probable que otras aplicaciones sigan buscandolocalhost
.No hay nada diferente Uno es más fácil de recordar que el otro. En general, define un nombre para asociar con una dirección IP. No tiene que especificar localhost para 127.0.0.1, puede especificar el nombre que desee.
fuente
La principal diferencia es que la conexión se puede hacer a través de Unix Domain Socket, como se indica aquí: localhost vs. 127.0.0.1
fuente