Localhost (127.0.0.1)
Quando um computador se conecta a um endereço de IP, ele está tentando estabelecer uma comunicação com outro computador, via de regra, pela internet. No entanto, quando um computador acessa o endereço de IP 127.0.0.1, ele está tentando se comunicar com o localhost, que nada mais é que o próprio computador. A comunicação pode parecer confusa num primeiro momento, mas essa conversa “consigo mesmo” tem um porquê. Descubra o que é localhost e para que ele serve.
Registre ótimos TLDs por menos de US$ 1 no primeiro ano. Esperar para quê? Garanta seu nome de domínio preferido hoje mesmo.
- E-mail correspondente
- Certificado SSL
- Suporte 24 horas por dia, 365 dias por ano
O que é localhost?
Seu localhost será sempre seu próprio computador. Assim, quando você acessa o localhost, seu computador conecta-se a ele mesmo. No entanto, essa explicação é bastante simplificada, uma vez que o localhost nem sempre é identificado diretamente com o seu computador. Na maioria dos casos, ele possui um endereço de IP separado, como 192.168.0.1., dentro da sua rede pessoal. Este difere do endereço de IP usado quando você navega na internet, por ser geralmente atribuído pelo próprio provedor de internet. Dito isso, quando alguém se refere a um localhost, essa pessoa está falando sobre um servidor virtual no próprio computador.
Contudo, localhost não é apenas o nome do servidor virtual, mas também seu nome de domínio. Assim como .test, .example e .invalid, .localhost é um domínio de nível superior reservado para fins de documentação e teste. Quando você tenta acessar esse domínio, um loopback é acionado. Se você digitar http://localhost
na barra de endereço do seu navegador, essa solicitação não será encaminhada para a internet. Ela permanecerá no próprio sistema. Localhosts podem ser acessados pelo endereço de IP 127.0.0.1, que leva ao próprio servidor.
Como funciona o loopback?
Em uma rede, endereços de IP são usados para possibilitar a comunicação com os demais presentes. Assim, cada participante de uma rede tem um endereço próprio. Pacotes de dados enviados por TCP/IP chegam ao destino por causa desse sistema. O par de protocolos Transmission Control Protocol (TCP) e Internet Protocol (IP) são alguns dos pilares da internet. No entanto, o TCP/IP também é usado fora dela, em redes locais. Nesse tipo de transmissão, o Protocolo de Internet é responsável por autorizar o endereço de IP e a máscara de sub-rede, para se endereçar a assinantes em uma rede.
A atribuição de endereços de IP públicos (aqueles que podem ser acessados pela internet) é regulada por uma organização internacional: a Internet Corporation for Assigned Names and Numbers (ICANN). A ICANN também é responsável pela alocação de nomes de domínio e pelo Sistema de Nomes de Domínio (DNS). No entanto, certas variações de endereços são reservadas para fins especiais, como variações entre 127.0.0.0 e 127.255.255.255. Até a década de 1990, endereços de IP na internet eram divididos em diferentes classes. A primeira classe (Classe A) começou com 0.0.0.0 (esse endereço também é reservado) e terminou com 127.255.255.255. A sequência 127 sinaliza o último bloco dentro da rede Classe A.
Uma rede local pode ser configurada dentro dessa variação de endereço. A particularidade dessa variação não é apenas o fato de ela ter sido reservada pela ICANN, mas também de os endereços de IP não serem atribuídos exclusivamente nela, como costuma acontecer. Como isso funciona, então?
Com IPv6, o endereço ::1 é reservado para loopbacks.
Por exemplo, se você digitar um endereço de IP (ou o nome de domínio correspondente) no seu navegador, o roteador encaminhará sua solicitação para a internet e para o servidor correto. Ou seja, se você digitar 172.217.0.0, será levado à página inicial do Google. O mesmo não acontece se você digitar 127.0.0.1. Especificamente, solicitações para este endereço não são encaminhadas à internet, já que o TCP/IP reconhece pelo primeiro bloco (127) que você não deseja acessar a web, mas sim, seu próprio dispositivo. Assim, o loopback é acionado.
Em contrapartida, o protocolo não aceita solicitações externas endereçadas ao 127.0.0.1, pois isso significaria que invasores poderiam estar tentando entrar no seu sistema. Pacotes que supostamente aparecem na internet partindo de endereços de IP reservados, como do 127.0.0.1, são chamados de Martians Packets.
Um dispositivo de loopback é criado para gerar um link que leva ao próprio computador. Esse link, uma interface virtual, é gerado pelo próprio sistema operacional. Em sistemas Unix, a interface é chamada de lo ou lo0. Ela pode ser exibida com o comando ifconfig. O comando correspondente para Windows é ipconfig.
Se considerarmos a tecnologia e o localhost de forma independente, um loopback pode ser criado de forma analógica: circuitos de tecnologia de comunicação podem ser usados para determinar se os caminhos percorridos pelo sinal e se a recepção estão corretos.
Para que serve o localhost?
Desenvolvedores usam um localhost para testar programas e aplicativos web. Administradores de rede também podem usar o loopback para testar conexões de rede. Outro uso útil para o localhost é o arquivo hosts. Ele permite que o loopback seja usado para bloquear sites maliciosos.
Para fins de teste
O localhost é usado em servidores web principalmente para a programação de aplicações que precisam se comunicar pela internet. Durante o processo de desenvolvimento, é importante saber se o aplicativo realmente funcionará como desejado quando finalmente ganhar acesso à internet. Outras funções de localhost só são possíveis se os arquivos necessários puderem ser encontrados na web. Por exemplo, há uma diferença entre abrir um documento HTML no seu computado e carregá-lo em um servidor para acessá-lo. Não faz sentido lançar um produto inacabado sem testá-lo, por isso desenvolvedores usam o loopback: ele permite que desenvolvedores provoquem uma conexão e evitem desvios de rede, já que a conexão permanece inteiramente dentro do próprio sistema.
Outra vantagem de usar o localhost para fins de teste é sua velocidade. Quando você envia uma solicitação pela internet, ela leva mais de 100 milissegundos para ser transmitida. Já quando você envia um ping para o localhost, o tempo máximo de transmissão é de apenas um milissegundo. Com essa tecnologia, você também pode descobrir se o Protocolo de Internet está implementado corretamente ou não. Para testar você mesmo, simplesmente abra o prompt de comando (Windows) ou terminal (Unix/Mac) e digite o comando ping. Você pode enviá-lo para o localhost do domínio ou diretamente para o endereço de IP.
ping localhost
ping 127.0.0.1
Se você deseja configurar um servidor de teste no seu próprio computador para endereçá-lo pelo localhost, você deve primeiro instalar o software correto. Em geral, qualquer servidor padrão é possível de ser executado em uma máquina doméstica. Contudo, existem softwares especialmente projetados para uso como localhost. O XAMPP é um exemplo. Aprenda o passo a passo para instalar e configurar um sistema de teste usando XAMPP.
Proteja seu domínio e conquiste a confiança dos seus visitantes com um site com criptografia SSL!
- Ativação fácil
- Segurança comprovada
- Assistência 24 horas
Para bloquear sites
O localhost também desempenha um papel no arquivo hosts. Em princípio, esse arquivo é um predecessor do DNS: nele, endereços de IP podem ser atribuídos aos domínios correspondentes. Se você inserir o endereço de um site no navegador, o nome de domínio precisa ser traduzido em um endereço de IP. Para isso, um arquivohostsera geralmente usado, mas hoje um DNS global é mais comum. No entanto, o arquivohostsainda está presente na maioria dos sistemas operacionais. No Windows, você pode encontrá-lo em \system32\drivers\etc\hosts; no macOS e em sistemas Unix, ele pode ser encontrado em /etc/hosts.
Se você não fez nenhuma alteração no arquivo, provavelmente essas duas entradas serão encontradas:
127.0.0.1 | localhost |
::1 | localhost |
Elas garantem que a resolução de nomes para o localhost não seja feita usando a internet. Você também pode usar esse arquivo para bloquear sites específicos. Basta inserir o site que deseja bloquear na lista e atribuir o endereço de IP 127.0.0.1 ao domínio. Caso você (ou talvez um script malicioso) tente acessar o domínio bloqueado, o navegador primeiro verificará o arquivo hosts, onde encontrará sua entrada. Outra opção é usar o nome de domínio 0.0.0.0.
O navegador tentará acessar o site correspondente no servidor com o endereço 127.0.0.1. No entanto, o navegador não o encontrará, porque o arquivo solicitado não existirá. No entanto, se você configurar seu próprio servidor de teste, o navegador encontrará home.html, seu próprio arquivo. Se você não tiver um servidor de teste próprio configurado, uma mensagem de erro será exibida, ao invés do site solicitado. Essa técnica também pode ser usada para desativar anúncios em todo o sistema. Para evitar ter que fazer cada entrada manualmente, você pode encontrar arquivos hosts prontos na internet.
O arquivo hosts pode impactar bastante sua segurança na internet. Embora capaz de bloquear sites maliciosos, ele pode ser manipulado por criminosos. Portanto, certifique-se de não copiar entradas de outros sites sem verificá-las antes, e de que malwares não estejam tentando registrar entradas sem a sua autorização.