Risposte:
Bene, la differenza più probabile è che devi ancora fare una vera ricerca da localhostqualche parte.
Se lo usi 127.0.0.1, il software (intelligente) lo trasformerà direttamente in un indirizzo IP e lo utilizzerà. Alcune implementazioni di gethostbynamerileveranno 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 hostsfile verrà effettivamente utilizzato per quella risoluzione (prima o per niente), quindi localhostpotrebbe diventare un indirizzo IP completamente diverso .
Con ciò intendo che, su alcuni sistemi, un hostsfile locale può essere bypassato. Il host.conffile controlla questo su Linux (e molti altri Unices).
/etc/nsswitch.confseleziona se hostso 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 localhostrisolve. Questa ricerca è molto, molto veloce. Ad esempio, per arrivare a stackoverflow.comte lo hai digitato nella barra degli indirizzi (o usato un bookmarklet che puntava qui). Ad ogni modo, sei arrivato qui attraverso un nome host. localhostfornisce 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://localhostposto di http://127.0.0.1o http://username.
localhostin 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.