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, co­mu­ni­che­rai 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?

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Cos’è esat­ta­men­te il localhost?

La prima spie­ga­zio­ne 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 sem­pli­fi­ca­zio­ne. Il localhost non riguarda di­ret­ta­men­te 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, ge­ne­ral­men­te in modo dinamico. Si parla quindi di localhost se si utilizza un server sul proprio computer.

Ciò significa che il termine viene uti­liz­za­to 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 do­cu­men­ta­zio­ne e test. Quando tenti di ri­chia­ma­re il dominio, viene attivata una sequenza di loopback. Ri­chia­man­do 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 ri­fe­ri­men­to al server sul proprio computer.

Immagine: Localhost (127.0.0.1)
Rap­pre­sen­ta­zio­ne sche­ma­ti­ca della co­mu­ni­ca­zio­ne con il localhost.

127.0.0.1: come funziona il loopback?

Gli indirizzi IP sono uti­liz­za­ti all’interno di una rete per poter co­mu­ni­ca­re. Ogni par­te­ci­pan­te alla rete ha il proprio indirizzo. I pacchetti di dati inviati via TCP/IP rag­giun­go­no la de­sti­na­zio­ne corretta grazie a questo sistema. La coppia di pro­to­col­li Tran­smis­sion Control Protocol (TCP) e Internet Protocol (IP) è uno dei capisaldi di internet. Oltre che su internet, il TCP/IP viene uti­liz­za­to anche nelle reti locali. Durante la tra­smis­sio­ne il pro­to­col­lo internet è re­spon­sa­bi­le dell’uso degli indirizzi IP e delle maschere di sottorete (subnet mask) per in­di­riz­za­re i par­te­ci­pan­ti a una rete.

N.B.

L’as­se­gna­zio­ne degli indirizzi IP pubblici (ossia quelli ac­ces­si­bi­li via internet) è regolata da un’or­ga­niz­za­zio­ne in­ter­na­zio­na­le: l’Internet Cor­po­ra­tion for Assigned Names and Numbers (ICANN). L’ICANN si occupa anche del Domain Name System (DNS), ovvero dell’as­se­gna­zio­ne dei nomi a dominio. Tuttavia, alcuni in­ter­val­li di indirizzi sono riservati a scopi speciali, ad esempio l’in­ter­val­lo 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 con­clu­de­va 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 in­ter­val­lo di indirizzi è possibile impostare una rete locale (localnet). La par­ti­co­la­ri­tà di questo in­ter­val­lo 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 al­tri­men­ti. Ma come funziona?

Ad esempio, non appena inserisci un indirizzo IP (o il nome di dominio cor­ri­spon­den­te) 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 in­di­riz­zan­do la richiesta a te stesso o a te stessa. Viene quindi attivato il loopback.

Fatto

Sotto IPv6 l’indirizzo ::1 è riservato al loopback.

Per fare in modo che il ri­fe­ri­men­to al proprio computer funzioni viene creato un di­spo­si­ti­vo di loopback. Si tratta di un’in­ter­fac­cia virtuale com­ple­ta­men­te im­ple­men­ta­ta at­tra­ver­so il sistema operativo. Sui sistemi Unix l’in­ter­fac­cia si chiama “lo” oppure “lo0”, che possono essere vi­sua­liz­za­ti usando il comando ifconfig. Un comando analogo su Windows è ipconfig.

Fatto

Guardando la tec­no­lo­gia in­di­pen­den­te­men­te dal localhost, un loopback può anche essere rea­liz­za­to in modo analogo: i circuiti della tec­no­lo­gia della co­mu­ni­ca­zio­ne possono quindi essere uti­liz­za­ti per de­ter­mi­na­re se sia il percorso del segnale sia la ricezione siano ef­fet­ti­va­men­te corretti.

A cosa serve il localhost?

Gli svi­lup­pa­to­ri e le svi­lup­pa­tri­ci uti­liz­za­no il localhost per testare programmi e ap­pli­ca­zio­ni web. Gli am­mi­ni­stra­to­ri e le am­mi­ni­stra­tri­ci di rete possono anche uti­liz­za­re l’in­ter­fac­cia di loopback per testare le con­nes­sio­ni di rete. Un altro uso pratico per il localhost è il file hosts, dove è possibile uti­liz­za­re il loopback per bloccare i siti web dannosi.

N.B.

Nelle piat­ta­for­me 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 con­nes­sio­ni di rete può risultare meno rilevante.

Ef­fet­tua­re test

Il localhost viene uti­liz­za­to prin­ci­pal­men­te nell’ambiente dei server web e per la pro­gram­ma­zio­ne di ap­pli­ca­zio­ni che hanno bisogno di co­mu­ni­ca­re via internet. Durante lo sviluppo è im­por­tan­te sapere se l’ap­pli­ca­zio­ne fun­zio­ne­rà come previsto, anche se l’accesso avviene via internet. Altre funzioni possono essere eseguite solo se i file cor­ri­spon­den­ti si trovano su (pseudo-)internet.

C’è infatti dif­fe­ren­za tra aprire un documento HTML sul proprio PC e caricarlo su un server per poi accedervi. Tuttavia, ri­la­scia­re un prodotto non finito non ha molto senso. Per questo motivo gli svi­lup­pa­to­ri e le svi­lup­pa­tri­ci ricorrono al loopback. I pro­gram­ma­to­ri e le pro­gram­ma­tri­ci possono simulare una con­nes­sio­ne by­pas­san­do la de­via­zio­ne at­tra­ver­so la rete. La con­nes­sio­ne rimane com­ple­ta­men­te 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 mil­li­se­con­di. Se invii un ping al localhost, la tra­smis­sio­ne non dovrebbe superare il mil­li­se­con­do. Con questa tecnica è anche possibile ve­ri­fi­ca­re se il pro­to­col­lo internet è stato im­ple­men­ta­to cor­ret­ta­men­te. Per provarlo au­to­no­ma­men­te, 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 di­ret­ta­men­te all’indirizzo IP:

ping localhost
ping 127.0.0.1
bash

Se desideri con­fi­gu­ra­re il tuo server di prova sul tuo PC per in­di­riz­zar­lo via localhost, è ne­ces­sa­rio in­stal­la­re il software ap­pro­pria­to. In generale è possibile eseguire qualsiasi server web standard sul proprio computer. Tuttavia, ci sono anche ap­pli­ca­zio­ni speciali ap­po­si­ta­men­te pro­get­ta­ti per l’uso come host locale. Uno di questi è lo stack di software XAMPP.

Cer­ti­fi­ca­to SSL
Proteggi il tuo sito con un cer­ti­fi­ca­to SSL

Evita che venga vi­sua­liz­za­ta un'al­ler­ta nella barra degli indirizzi e ottieni la fiducia dei clienti con un sito crit­to­gra­fa­to tramite SSL.

Bloccare siti web

Il localhost gioca un ruolo im­por­tan­te anche nel file hosts. In linea di principio questo file è un pre­de­ces­so­re del Domain Name System (DNS): in esso gli indirizzi IP possono essere assegnati ai domini cor­ri­spon­den­ti. 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 pre­fe­ri­sce ricorrere al DNS globale. Il file è comunque di­spo­ni­bi­le 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, pro­ba­bil­men­te ci sono solo due voci:

127.0.0.1	localhost
::1			localhost
txt

Questo assicura che la ri­so­lu­zio­ne del nome per localhost non debba essere eseguita su internet. È inoltre possibile uti­liz­za­re il file per bloccare de­ter­mi­na­ti 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 pos­si­bi­li­tà è quella di uti­liz­za­re l’indirizzo IP 0.0.0.0.

Il browser cerca quindi di ri­chia­ma­re il documento cor­ri­spon­den­te (il sito web) sul server all’indirizzo 127.0.0.1. Tuttavia, molto pro­ba­bil­men­te non lo troverà, perché il file richiesto non c’è. Se però hai con­fi­gu­ra­to un tuo server di prova, è possibile che il browser trovi un file home.html, ma si tratta del tuo file.

Se non hai con­fi­gu­ra­to un server di prova, al posto del sito web richiesto verrà vi­sua­liz­za­to un messaggio di errore. Questa tecnica può essere uti­liz­za­ta anche per di­sat­ti­va­re la pub­bli­ci­tà in tutto il sistema. Per evitare di inserire ma­nual­men­te ogni voce è possibile trovare su internet file hosts già pronti e re­go­lar­men­te ag­gior­na­ti.

N.B.

Il file hosts può avere un grande impatto sulla tua sicurezza durante la na­vi­ga­zio­ne su internet. Anche se il file è adatto a bloccare siti web poco sicuri, i cy­ber­cri­mi­na­li possono comunque riuscire a inserirvi voci dannose. Pertanto, è ne­ces­sa­rio as­si­cu­rar­si di non rilevare le voci da altri siti web non ve­ri­fi­ca­ti e che nessun malware crei tali voci a tua insaputa.

Vai al menu prin­ci­pa­le