Quando você acessa um endereço IP, ge­ral­mente deseja se conectar a outro com­pu­ta­dor na internet. No entanto, ao usar o endereço IP 127.0.0.1, você está se co­mu­ni­cando com o localhost, que é seu próprio com­pu­ta­dor. Mas por que você gostaria de ter uma “conversa virtual” consigo mesmo? Para que serve o localhost e como esse loopback funciona?

Nomes de domínio por US$ 1

Registre ótimos TLDs por menos de US$ 1 no primeiro ano. Esperar para quê? Garanta seu nome de domínio preferido hoje mesmo.

  • inscrição fácil
  • Cer­ti­fi­cado SSL
  • Suporte 24 horas por dia, 365 dias por ano

O que exa­ta­mente é o localhost

A maneira mais simples de descrever o localhost é que ele se refere ao seu próprio com­pu­ta­dor. Quando você o acessa, seu dis­po­si­tivo está se co­mu­ni­cando consigo mesmo. No entanto, essa é apenas uma ex­pli­ca­ção sim­pli­fi­cada. O localhost não está di­re­ta­mente conectado ao seu PC físico. Na maioria das redes do­més­ti­cas, seu com­pu­ta­dor possui um endereço IP local, como 192.168.0.1. O endereço usado na internet, no entanto, é diferente e ge­ral­mente atribuído di­na­mi­ca­mente pelo seu provedor de internet. O termo localhost entra em jogo quando um servidor está operando no seu próprio com­pu­ta­dor.

Isso significa, ao contrário, que o termo “localhost” é usado apenas no contexto de redes. Ele não se refere apenas ao servidor virtual em si, mas também a seu nome de domínio. Assim como .test, .example ou .invalid, .localhost é um domínio de nível superior reservado para fins de do­cu­men­ta­ção e teste. Quando você tenta acessar esse domínio, um processo de loopback é de­sen­ca­de­ado. Portanto, se você inserir http://localhost no seu navegador, a so­li­ci­ta­ção não é enviada por meio do seu roteador para a internet. Ela permanece dentro do seu próprio sistema. O localhost tem o endereço IP 127.0.0.1, que aponta para o servidor operando no seu próprio com­pu­ta­dor.

Imagem: Localhost (127.0.0.1)
Diagrama mostrando a co­mu­ni­ca­ção localhost
Construa sua marca com um ótimo domínio
Registre um nome de domínio
  • SSL Wildcard grátis para mais segurança
  • Registro privado grátis para mais pri­va­ci­dade
  • Domain Connect grátis para con­fi­gu­rar DNS fácil

Como o loopback funciona (127.0.0.1)

Endereços IP são usados dentro de uma rede para permitir a co­mu­ni­ca­ção entre os par­ti­ci­pan­tes. Cada par­ti­ci­pante na rede possui seu próprio endereço. Pacotes de dados enviados via TCP/IP chegam ao destino correto devido a este sistema. O par de pro­to­co­los Trans­mis­sion Control Protocol (TCP) e Internet Protocol (IP) forma um dos pilares da internet. No entanto, o TCP/IP também é usado em redes locais além da internet. O protocolo de internet é res­pon­sá­vel por garantir que os par­ti­ci­pan­tes em uma rede possam ser en­de­re­ça­dos usando um endereço IP e uma máscara de sub-rede.

Nota

Endereços IP públicos, aqueles que podem ser acessados pela internet, são atri­buí­dos e re­gu­la­men­ta­dos pela Internet Cor­po­ra­tion for Assigned Names and Numbers (ICANN). Esta or­ga­ni­za­ção também su­per­vi­si­ona o Sistema de Nomes de Domínio (DNS), que gerencia a alocação de nomes de domínio. No entanto, alguns in­ter­va­los de endereços IP são re­ser­va­dos para pro­pó­si­tos es­pe­cí­fi­cos, como o bloco de 127.0.0.0 a 127.255.255.255.

Até a década de 1990, os endereços IP na internet eram ca­te­go­ri­za­dos em di­fe­ren­tes classes. A Classe A começava com 0.0.0.0 (também um endereço reservado) e se estendia até 127.255.255.255. Isso faz do 127 o bloco final dentro do intervalo da Classe A, uma posição pro­e­mi­nente que pode ter in­flu­en­ci­ado sua seleção.

Dentro deste intervalo de endereços, você pode con­fi­gu­rar uma localnet. O que torna este intervalo especial não é apenas o fato de ser reservado pela ICANN, mas também que os endereços IP nele não são atri­buí­dos de forma única, ao contrário da maioria dos outros. Veja como funciona: nor­mal­mente, quando você digita um endereço IP ou nome de domínio no seu navegador, seu roteador encaminha a so­li­ci­ta­ção para a internet e para o servidor apro­pri­ado. Mas com 127.0.0.1, as coisas funcionam de maneira diferente: so­li­ci­ta­ções para este endereço nunca saem do seu com­pu­ta­dor. O protocolo TCP/IP reconhece a partir do primeiro bloco (127) que o endereço se refere de volta ao seu próprio sistema. Como resultado, o processo de loopback é iniciado.

Fato

No IPv6, o endereço ::1 é reservado para loopback.

Para garantir que a re­fe­rên­cia de retorno à máquina local funcione, um dis­po­si­tivo de loopback é criado. Isso se refere a uma interface virtual. Ela é to­tal­mente im­ple­men­tada por meio do sistema ope­ra­ci­o­nal. Em sistemas Unix, a interface é chamada de “lo” ou “lo0”. Essas também podem ser exibidas aqui usando o comando ifconfig. Um comando com­pa­rá­vel no Windows é ipconfig.

Para garantir que a re­fe­rên­cia de retorno à máquina local funcione, um dis­po­si­tivo de loopback é criado. Isso se refere a uma interface virtual. Ela é to­tal­mente im­ple­men­tada pelo sistema ope­ra­ci­o­nal. Em sistemas Unix, a interface é chamada de “lo” ou “lo0”. Essas também podem ser exibidas aqui usando o comando ifconfig. Um comando com­pa­rá­vel no Windows é ipconfig.

Ao con­si­de­rar a tec­no­lo­gia se­pa­ra­da­mente do localhost, um loopback também pode ser realizado de forma análoga: por meio de circuitos na tec­no­lo­gia de co­mu­ni­ca­ção, você pode de­ter­mi­nar se tanto o caminho que o sinal percorre quanto a recepção estão corretos.

Ao con­si­de­rar a tec­no­lo­gia se­pa­ra­da­mente do localhost, um loopback também pode ser realizado de forma análoga: através de circuitos na tec­no­lo­gia de co­mu­ni­ca­ção, você pode de­ter­mi­nar se tanto o caminho que o sinal percorre quanto a recepção estão corretos.

Para que serve o localhost

De­sen­vol­ve­do­res usam o localhost ao testar programas e apli­ca­ções web. Da mesma forma, ad­mi­nis­tra­do­res de rede podem utilizar o loopback para testar conexões de rede. Outro uso prático para localhost é no arquivo hosts, onde o loopback pode ser usado para bloquear sites pre­ju­di­ci­ais.

Nota

Em ambientes de de­sen­vol­vi­mento modernos baseados na nuvem, trabalhar com ser­vi­do­res locais é agora raro. Em vez disso, são uti­li­za­das máquinas virtuais ou con­têi­ne­res que operam na nuvem. Nesses casos, o uso tra­di­ci­o­nal de localhost (127.0.0.1) para simular conexões de rede pode ser menos relevante.

Fi­na­li­da­des de teste

Localhost é usado prin­ci­pal­mente ao trabalhar com ser­vi­do­res web ou de­sen­vol­ver apli­ca­ções que ne­ces­si­tam de co­mu­ni­ca­ção em estilo internet. Durante o de­sen­vol­vi­mento, é crucial testar se uma aplicação funciona cor­re­ta­mente quando acessada como seria on-line. Algumas funções só funcionam cor­re­ta­mente quando os arquivos cor­res­pon­den­tes estão dis­po­ní­veis em uma internet simulada ou “pseudo”. Por exemplo, há uma diferença entre sim­ples­mente abrir um arquivo HTML no seu com­pu­ta­dor e enviá-lo para um servidor para visualizá-lo em um navegador. Claro, liberar um produto inacabado pu­bli­ca­mente não é uma boa ideia e é aí que entra o loopback. Os de­sen­vol­ve­do­res o utilizam para simular uma conexão de rede enquanto mantêm todo o tráfego de dados local. Em outras palavras, a conexão permanece in­tei­ra­mente dentro do próprio sistema.

Outra vantagem de usá-lo para fins de teste é a ve­lo­ci­dade. Enviar uma so­li­ci­ta­ção pela internet pode levar mais de 100 mi­lis­se­gun­dos. No entanto, se você pingar o localhost, a trans­mis­são não deve levar mais de um mi­lis­se­gundo. Essa técnica também pode revelar se o protocolo de internet está im­ple­men­tado cor­re­ta­mente. Para testar isso você mesmo, basta abrir o prompt de comando (Windows) ou terminal (Unix/Mac) e usar o comando ping. Você pode enviá-lo tanto para o domínio “localhost“ quanto di­re­ta­mente para o endereço IP:

ping localhost
ping 127.0.0.1
bash

Se você deseja con­fi­gu­rar seu próprio servidor de teste no seu PC para acessá-lo via localhost, é ne­ces­sá­rio instalar o software apro­pri­ado. Ge­ral­mente, é possível executar qualquer servidor web padrão no seu próprio com­pu­ta­dor. No entanto, também existem apli­ca­ções es­pe­cí­fi­cas pro­je­ta­das es­pe­ci­fi­ca­mente para uso como localhost. Um exemplo disso é o conjunto de software XAMPP.

Cer­ti­fi­cado SSL da IONOS

Proteja seu domínio e conquiste a confiança dos seus vi­si­tan­tes com um site com crip­to­gra­fia SSL!

  • Ativação fácil
  • Segurança com­pro­vada
  • As­sis­tên­cia 24 horas

Bloqueio de sites

Localhost também de­sem­pe­nha um papel im­por­tante no arquivo hosts. Este arquivo pode ser con­si­de­rado um pre­de­ces­sor do Sistema de Nomes de Domínio (DNS): ele permite que endereços IP sejam vin­cu­la­dos aos seus res­pec­ti­vos nomes de domínio. Quando você insere um endereço de site no seu navegador, o domínio precisa ser traduzido em um endereço IP. No passado, isso era feito usando o arquivo hosts. Hoje, no entanto, essa tarefa ge­ral­mente é tratada pelo DNS global. Ainda assim, o arquivo hosts está presente na maioria dos sistemas ope­ra­ci­o­nais. No Windows, você pode encontrá-lo em \system32\drivers\etc\hosts, e no macOS ou em outros sistemas baseados em Unix em /etc/hosts.

Se você não fez nenhuma alteração no arquivo, pro­va­vel­mente en­con­trará apenas duas entradas lá:

127.0.0.1 localhost
::1 localhost
txt

Isso garante que a resolução de nomes para localhost não precise passar pela internet. No entanto, você também pode usar o arquivo para bloquear sites es­pe­cí­fi­cos. Para fazer isso, adicione o site que deseja bloquear à lista e atribua ao domínio o endereço IP 127.0.0.1. Se você — ou, por exemplo, um script malicioso — tentar acessar o domínio bloqueado, o navegador primeiro ve­ri­fi­cará o arquivo hosts, en­con­trará a entrada e in­ter­rom­perá a conexão ali. Outra opção é usar o endereço IP 0.0.0.0.

O navegador então tenta acessar o documento cor­res­pon­dente (o site) no servidor em 127.0.0.1. Na maioria dos casos, ele não o en­con­trará, pois o arquivo so­li­ci­tado não existe lá. No entanto, se você con­fi­gu­rou seu próprio servidor de teste, o navegador pode localizar um arquivo home.html, que seria seu próprio arquivo local. Se nenhum servidor de teste estiver em execução, uma mensagem de erro aparecerá em vez do site so­li­ci­tado. Essa técnica também pode ser usada para bloquear anúncios em todo o seu sistema. Para evitar adicionar cada entrada ma­nu­al­mente, você pode encontrar arquivos hosts prontos e re­gu­lar­mente atu­a­li­za­dos on-line.

Nota

O arquivo hosts pode ter um impacto sig­ni­fi­ca­tivo na sua segurança on-line. Embora seja uma fer­ra­menta útil para bloquear sites ma­li­ci­o­sos, ci­ber­cri­mi­no­sos também podem explorá-lo adi­ci­o­nando entradas pre­ju­di­ci­ais. Por esse motivo, você deve ter cuidado para não importar entradas de fontes não ve­ri­fi­ca­das e garantir que nenhum malware faça al­te­ra­ções no arquivo sem o seu co­nhe­ci­mento.

Ir para o menu principal