Localhost (127.0.0.1)
Quando richiami un indirizzo IP significa che desideri metterti in contatto con un altro computer su internet. Ma se invece componi l’indirizzo IP 127.0.0.1, comunicherai con il localhost, quindi, in linea di principio, con il tuo computer. Ma perché dovresti fare dei soliloqui virtuali? A cosa serve il localhost e come funziona?
- Domain Connect gratuito per una configurazione facile del DNS
- Certificato SSL Wildcard gratuito
- Protezione privacy inclusa
Cos’è esattamente il localhost?
La prima spiegazione quando si definisce il localhost è sempre che si tratta del proprio computer: quando richiami il localhost, è come se il tuo computer parlasse da solo. Tuttavia, si tratta di una semplificazione. Il localhost non riguarda direttamente il tuo PC, piuttosto, nella maggior parte dei casi, esso ha un indirizzo IP all’interno della rete personale come ad esempio 192.168.0.1. L’indirizzo con cui si naviga su internet è diverso e di solito è assegnato dal provider internet, generalmente in modo dinamico. Si parla quindi di localhost se si utilizza un server sul proprio computer.
Ciò significa che il termine viene utilizzato solo nel contesto delle reti. “Localhost” non è solo il nome del server virtuale, ma anche il suo nome di dominio. Proprio come .test, .example o .invalid, anche .localhost è un dominio di primo livello riservato a scopo di documentazione e test. Quando tenti di richiamare il dominio, viene attivata una sequenza di loopback. Richiamando http://localhost sul tuo browser la richiesta non verrà inoltrata a internet tramite il router, ma rimarrà all’interno del tuo sistema. Il localhost ha l’indirizzo IP 127.0.0.1, che fa riferimento al server sul proprio computer.

- Domain Connect gratuito per una configurazione facile del DNS
- Certificato SSL Wildcard gratuito
- Protezione privacy inclusa
127.0.0.1: come funziona il loopback?
Gli indirizzi IP sono utilizzati all’interno di una rete per poter comunicare. Ogni partecipante alla rete ha il proprio indirizzo. I pacchetti di dati inviati via TCP/IP raggiungono la destinazione corretta grazie a questo sistema. La coppia di protocolli Transmission Control Protocol (TCP) e Internet Protocol (IP) è uno dei capisaldi di internet. Oltre che su internet, il TCP/IP viene utilizzato anche nelle reti locali. Durante la trasmissione il protocollo internet è responsabile dell’uso degli indirizzi IP e delle maschere di sottorete (subnet mask) per indirizzare i partecipanti a una rete.
L’assegnazione degli indirizzi IP pubblici (ossia quelli accessibili via internet) è regolata da un’organizzazione internazionale: l’Internet Corporation for Assigned Names and Numbers (ICANN). L’ICANN si occupa anche del Domain Name System (DNS), ovvero dell’assegnazione dei nomi a dominio. Tuttavia, alcuni intervalli di indirizzi sono riservati a scopi speciali, ad esempio l’intervallo da 127.0.0.0. a 127.255.255.255.
Fino agli anni ‘90 gli indirizzi IP all’interno di internet erano suddivisi in diverse classi. La prima classe (Classe A) iniziava con 0.0.0.0. (anche questo indirizzo è riservato) e si concludeva con 127.255.255.255. Pertanto, 127 è l’ultimo blocco all’interno della rete di Classe A. Questa posizione di rilievo potrebbe essere la ragione della decisione.
All’interno di questo intervallo di indirizzi è possibile impostare una rete locale (localnet). La particolarità di questo intervallo di indirizzi, però, non è solo che è stato riservato dall’ICANN, ma anche che gli indirizzi IP in esso contenuti non vengono assegnati una sola volta, come avviene altrimenti. Ma come funziona?
Ad esempio, non appena inserisci un indirizzo IP (o il nome di dominio corrispondente) nel tuo browser, il router invia la tua richiesta a internet e al server corretto. Con 127.0.0.1, tuttavia, il caso è diverso, perché le richieste a questo indirizzo non vengono inoltrate a internet, ma rimangono nel sistema locale. TCP/IP riconosce già dal primo blocco (127) che stai indirizzando la richiesta a te stesso o a te stessa. Viene quindi attivato il loopback.
Sotto IPv6 l’indirizzo ::1 è riservato al loopback.
Per fare in modo che il riferimento al proprio computer funzioni viene creato un dispositivo di loopback. Si tratta di un’interfaccia virtuale completamente implementata attraverso il sistema operativo. Sui sistemi Unix l’interfaccia si chiama “lo” oppure “lo0”, che possono essere visualizzati usando il comando ifconfig. Un comando analogo su Windows è ipconfig.
Guardando la tecnologia indipendentemente dal localhost, un loopback può anche essere realizzato in modo analogo: i circuiti della tecnologia della comunicazione possono quindi essere utilizzati per determinare se sia il percorso del segnale sia la ricezione siano effettivamente corretti.
A cosa serve il localhost?
Gli sviluppatori e le sviluppatrici utilizzano il localhost per testare programmi e applicazioni web. Gli amministratori e le amministratrici di rete possono anche utilizzare l’interfaccia di loopback per testare le connessioni di rete. Un altro uso pratico per il localhost è il file hosts, dove è possibile utilizzare il loopback per bloccare i siti web dannosi.
Nelle piattaforme di sviluppo moderne basate sul cloud si lavora sempre più raramente con server locali. Al loro posto si usano macchine virtuali o container, eseguiti nel cloud. In questi casi l’uso classico di localhost (127.0.0.1) per simulare connessioni di rete può risultare meno rilevante.
Effettuare test
Il localhost viene utilizzato principalmente nell’ambiente dei server web e per la programmazione di applicazioni che hanno bisogno di comunicare via internet. Durante lo sviluppo è importante sapere se l’applicazione funzionerà come previsto, anche se l’accesso avviene via internet. Altre funzioni possono essere eseguite solo se i file corrispondenti si trovano su (pseudo-)internet.
C’è infatti differenza tra aprire un documento HTML sul proprio PC e caricarlo su un server per poi accedervi. Tuttavia, rilasciare un prodotto non finito non ha molto senso. Per questo motivo gli sviluppatori e le sviluppatrici ricorrono al loopback. I programmatori e le programmatrici possono simulare una connessione bypassando la deviazione attraverso la rete. La connessione rimane completamente all’interno del proprio sistema.
Un altro vantaggio dell’utilizzo del localhost per scopi di test è la velocità. Quando si invia una richiesta via internet possono essere necessari oltre 100 millisecondi. Se invii un ping al localhost, la trasmissione non dovrebbe superare il millisecondo. Con questa tecnica è anche possibile verificare se il protocollo internet è stato implementato correttamente. Per provarlo autonomamente, basta aprire il prompt dei comandi (Windows) o il terminale (Unix/Mac) e usare il comando ping. È possibile inviarlo sia al localhost del dominio o direttamente all’indirizzo IP:
ping localhost
ping 127.0.0.1bashSe desideri configurare il tuo server di prova sul tuo PC per indirizzarlo via localhost, è necessario installare il software appropriato. In generale è possibile eseguire qualsiasi server web standard sul proprio computer. Tuttavia, ci sono anche applicazioni speciali appositamente progettati per l’uso come host locale. Uno di questi è lo stack di software XAMPP.
Evita che venga visualizzata un'allerta nella barra degli indirizzi e ottieni la fiducia dei clienti con un sito crittografato tramite SSL.
Bloccare siti web
Il localhost gioca un ruolo importante anche nel file hosts. In linea di principio questo file è un predecessore del Domain Name System (DNS): in esso gli indirizzi IP possono essere assegnati ai domini corrispondenti. Inserendo l’indirizzo di una pagina web nel browser il dominio deve essere tradotto in un indirizzo IP. In passato il file hosts è stato usato a questo scopo. Al giorno d’oggi, tuttavia, si preferisce ricorrere al DNS globale. Il file è comunque disponibile nella maggior parte dei sistemi operativi. Su Windows lo trovi sotto \system32\drivers\etc\etc\hosts; su macOS e altri sistemi Unix sotto /etc/hosts.
Se non hai apportato modifiche al file, probabilmente ci sono solo due voci:
127.0.0.1 localhost
::1 localhosttxtQuesto assicura che la risoluzione del nome per localhost non debba essere eseguita su internet. È inoltre possibile utilizzare il file per bloccare determinati siti web. Per fare ciò inserisci il sito web da bloccare nell’elenco e assegna l’indirizzo IP 127.0.0.1 al dominio. Se tenti di accedere al dominio bloccato, o uno script dannoso, il browser cercherà prima nel file hosts e vi troverà una voce. Un’altra possibilità è quella di utilizzare l’indirizzo IP 0.0.0.0.
Il browser cerca quindi di richiamare il documento corrispondente (il sito web) sul server all’indirizzo 127.0.0.1. Tuttavia, molto probabilmente non lo troverà, perché il file richiesto non c’è. Se però hai configurato un tuo server di prova, è possibile che il browser trovi un file home.html, ma si tratta del tuo file.
Se non hai configurato un server di prova, al posto del sito web richiesto verrà visualizzato un messaggio di errore. Questa tecnica può essere utilizzata anche per disattivare la pubblicità in tutto il sistema. Per evitare di inserire manualmente ogni voce è possibile trovare su internet file hosts già pronti e regolarmente aggiornati.
Il file hosts può avere un grande impatto sulla tua sicurezza durante la navigazione su internet. Anche se il file è adatto a bloccare siti web poco sicuri, i cybercriminali possono comunque riuscire a inserirvi voci dannose. Pertanto, è necessario assicurarsi di non rilevare le voci da altri siti web non verificati e che nessun malware crei tali voci a tua insaputa.

