Localhost: soliloqui virtuali
Quando voi (o il vostro computer) richiamate un indirizzo IP significa che desiderate mettervi in contatto con un altro computer su Internet. Ma se invece componete l'indirizzo IP 127.0.0.1, comunicherete con il localhost, quindi, in linea di principio, con il vostro computer. Ma perché dovreste fare dei soliloqui virtuali? A cosa serve il localhost e come funziona?
- Certificato SSL Wildcard incluso
- Registrazione di dominio sicura
- Indirizzo e-mail professionale da 2 GB
Cos’è esattamente il localhost?
La prima spiegazione quando si definisce il localhost è sempre che si tratta del proprio computer: quando richiamate il localhost, è come se il vostro computer parlasse da solo. Tuttavia si tratta di una semplificazione. Il localhost non riguarda direttamente il vostro 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 si tenta di richiamare il dominio, viene attivata una sequenza di loopback. Richiamando 'http://localhost' sul vostro browser la richiesta non verrà inoltrata a Internet tramite il router, ma rimarrà all’interno del vostro sistema. Il localhost ha l'indirizzo IP 127.0.0.1, che fa riferimento al server sul proprio computer.
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 in 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. Viene da chiedersi perché sia stato scelto proprio tale intervallo. Non ci sono informazioni certe, ma solo supposizioni. 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?
Sotto IPv6 l'indirizzo ::1 è riservato al loopback.
Ad esempio non appena inserite un indirizzo IP (o il nome di dominio corrispondente) nel vostro browser, il router invia la vostra richiesta a Internet e al server corretto. Pertanto se si inserisce 172.217.0.0., si raggiunge la homepage di Google. Con 127.0.0.1, tuttavia, il caso è diverso, perché le richieste a questo indirizzo non vengono inoltrate a Internet. TCP/IP riconosce dal primo blocco (127) che non si desidera inviare a Internet, bensì a se stessi. Viene quindi attivato il loopback.
Il contrario non è possibile, il protocollo non consente richieste esterne indirizzate a 127.0.0.1. Eventuali malintenzionati potrebbero infatti cercare di intrufolarsi nel sistema. I pacchetti presumibilmente riservati da indirizzi IP come 127.0.0.1 che appaiono sull’Internet pubblico sono chiamati anche “martian packet”.
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 utilizzano il localhost per testare programmi e applicazioni web. Gli amministratori 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.
Per effettuare test
Il localhost viene utilizzato principalmente nell'ambiente dei web server 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 ricorrono al loopback. I programmatori 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 si invia 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 da soli 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.1
Se desiderate configurare il vostro server di prova sul vostro 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 software speciali appositamente progettati per l'uso come host locale. Uno di questi è XAMPP. Nella Guida Digitale scoprite come installare e configurare correttamente il sistema di test.
Evita che venga visualizzata un'allerta nella barra degli indirizzi e ottieni la fiducia dei clienti con un sito crittografato tramite SSL.
Per bloccare siti web
Il localhost gioca un ruolo 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 trovate sotto \system32\drivers\etc\etc\hosts; su macOS e altri sistemi Unix sotto /etc/hosts.
Se non avete apportato modifiche al file da soli, probabilmente ci sono solo due voci:
127.0.0.1 localhost
::1 localhost
Questo 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ò inserite il sito web da bloccare nell'elenco e assegnate l'indirizzo IP 127.0.0.1 al dominio. Se tentate 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 al punto 127.0.0.1. Tuttavia, molto probabilmente non lo troverà, perché il file richiesto non c'è. Se però avete configurato un vostro server di prova, è possibile che il browser trovi un home.html, ma si tratta del vostro file.
Se non avete 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 vostra sicurezza durante la navigazione in 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 vostra insaputa.