Risposte:
Bene, la differenza più probabile è che devi ancora fare una vera ricerca da localhost
qualche parte.
Se lo usi 127.0.0.1
, il software (intelligente) lo trasformerà direttamente in un indirizzo IP e lo utilizzerà. Alcune implementazioni di gethostbyname
rileveranno il formato punteggiato (e presumibilmente il formato IPv6 equivalente) e non eseguiranno alcuna ricerca.
Altrimenti, il nome deve essere risolto. E non vi è alcuna garanzia che il tuo hosts
file verrà effettivamente utilizzato per quella risoluzione (prima o per niente), quindi localhost
potrebbe diventare un indirizzo IP completamente diverso .
Con ciò intendo che, su alcuni sistemi, un hosts
file locale può essere bypassato. Il host.conf
file controlla questo su Linux (e molti altri Unices).
/etc/nsswitch.conf
seleziona se hosts
o DNS viene utilizzato per primo per una ricerca host, se nss è in esecuzione.
Sui moderni sistemi informatici, localhost come nome host si traduce in un indirizzo IPv4 nel blocco di rete 127.0.0.0/8 (loopback), in genere 127.0.0.1 o :: 1 in IPv6.
L'unica differenza è che sarebbe cercare nel sistema DNS ciò che si localhost
risolve. Questa ricerca è molto, molto veloce. Ad esempio, per arrivare a stackoverflow.com
te lo hai digitato nella barra degli indirizzi (o usato un bookmarklet che puntava qui). Ad ogni modo, sei arrivato qui attraverso un nome host. localhost
fornisce una funzionalità simile.
alcune applicazioni tratteranno specialmente "localhost". il client mysql considererà localhost come una richiesta di connessione al socket del dominio unix locale invece di usare tcp per connettersi al server su 127.0.0.1. Potrebbe essere più veloce e potrebbe trovarsi in una zona di autenticazione diversa.
Non conosco altre app che trattano localhost in modo diverso da 127.0.0.1, ma probabilmente ce ne sono alcune.
Bene, tramite IP è più veloce.
Fondamentalmente, quando chiami per nome del server, viene convertito in IP originale.
Ma sarebbe difficile memorizzare un IP, per questo motivo è stato creato il nome di dominio.
Personalmente uso al http://localhost
posto di http://127.0.0.1
o http://username
.
localhost
in modo speciale . Altre applicazioni probabilmente continueranno a cercare localhost
.
La differenza principale è che la connessione può essere stabilita tramite Unix Domain Socket, come indicato qui: localhost vs. 127.0.0.1
localhost
è indipendente dal protocollo, sia IPv4 che IPv6 funzioneranno.