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.