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.1y localhostcomo 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

localhostes 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
localhostalgú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 degethostbynamedetectará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
hostsarchivo se use realmente para esa resolución (en primer lugar, o en absoluto), por lo quelocalhostpuede convertirse en una dirección IP totalmente diferente .Con eso quiero decir que, en algunos sistemas,
hostsse puede omitir un archivo local . Elhost.confarchivo controla esto en Linux (y muchos otros Unices).fuente
/etc/nsswitch.confselecciona sihostso 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
localhostresuelve. Esta búsqueda es muy, muy rápida. Por ejemplo, para llegarstackoverflow.comtecleó 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.localhostProporciona 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://localhostlugar dehttp://127.0.0.1ohttp://username.fuente
localhostde 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