O que acontece nos bastidores ao acessar um site

internet

Como a internet funciona? Todos nós estamos acostumados a acessar a internet diariamente. Ligamos nosso computador, abrimos o navegador, digitamos o endereço do site que queremos acessar e voilà: temos a página em nossa frente em alguns poucos segundos (às vezes até mais rápido que um único segundo!). Nós não temos o costume de questionar o que acontece nesse curtíssimo período, contudo, existe uma quantidade enorme de tecnologias diferentes envolvidas para proporcionar tal resultado. Através de uma análise intuitiva vamos examinar passo a passo tudo o que acontece e as principais tecnologias envolvidas.

Antes de entendermos o passo a passo do que acontece quando digitamos um domínio em nosso navegador e apertamos enter, precisamos entender os principais componentes e conceitos por trás desse processo.


O servidor

O que é um servidor? Antes de começarmos, precisamos deixar claro o que é um servidor. Por mais intuitivo que pareça ser, o termo ainda é bastante confuso para pessoas leigas a tecnologia, contudo, tem uma importância fundamental no funcionamento da internet.

Quando falamos em servidor temos duas interpretações semânticas possíveis que vão depender do contexto: a de software e a de hardware.

Quando falamos de um servidor em termos de software estamos no referindo à um processo servidor, isto é, um programa sendo executado em algum computador que tem por objetivo “servir” dados. Esse software ao ser iniciado fica à disposição esperando por dados e ao receber alguma solicitação (com dados) ele processa os dados recebidos de acordo com seu algorítimo e retorna um resultado para o solicitante.

Já quando falamos servidor no sentido de hardware, estamos nos referindo à um computador que tem por objetivo executar um ou mais processos servidores. Os computadores servidores na maioria das vezes ficam fisicamente juntos em locais que chamamos de centro de dados ou, em inglês, Datacenters.

Quando acessamos um site estamos na verdade fazendo uma solicitação para algum servidor em algum local do mundo. Esse servidor possui os dados do site e sabe como processa-lo para nos entregar o resultado que queremos.

Um datacenter Google.
Um dos vários datacenters da Google.

O domínio

google.com
exemplo de domínio

Tudo começa pelo domínio. É ele que digitamos no nosso navegador quando queremos acessar um site. O domínio nada mais é que o “endereço” do site que queremos acessar. Mas o domínio ainda não é “endereço” de onde encontraremos o site. Os computadores apenas conseguem se encontrar na internet através do endereço IP, que é o endereço do computador numa rede internet. O tipo de IP mais comum que temos hoje em dia (IPv4) é da forma de 4 números de 0 a 255, divididos por pontos, por exemplo: 189.154.11.5, algo nada amigável. Os domínios surgiram para resolver esse problema.

Contudo sabemos que os computadores apenas conseguem se encontrar na rede internet através de IPs numéricos (nem tão numéricos mais hoje em dia, vide IPv6). Então fez-se necessário a criação do DNS.

DNS

O que é DNS? DNS significa Domain Name System. É um conjunto de protocolos, especificações, entidades e servidores que tem o objetivo de gerenciar os domínios e “traduzir” nomes de domínio em endereços IPs. Uma requisição por um domínio geralmente segue o caminho:
Root Server -> TLD Server -> Authoritative name server

Existem 4 tipos de servidores DNS notórios:

  • Root server: O root server é a raiz de todo o Domain Name System. É o primeiro servidor a ser consultado em um lookup e retorna o IP do TLD server em questão do domínio.
  • TLD Server: É o segundo servidor a ser consultado. TLD é a última parte do domínio. Em google.com, seria o .com. A entidade que administra esses servidores é quem gerencia os registros de domínio desse TLD e armazenam os IPs dos authoritative name servers, que deve ser fornecido por qualquer pessoa que registre um domínio (salvo em casos que a própria empresa que intermedia o processo de registro oferece seus próprios authoritative name server e abstrai tal solicitação do usuário.)
  • Authoritative name server: Usado por administradores de sites para definirem “zonas” – domínios/subdomínios apontando para IPs específicos. É ele quem de fato irá retornar o IP da onde o servidor web (que é de fato quem irá processar a página web) está localizado. E é o último servidor a ser consultado num lookup. (exceto em alguns casos, como de registros CNAME em que um novo lookup completo tem que ser iniciado).
  • Caching DNS resolver ou DNS resolver: geralmente são usados como cache, para evitar que todo tráfego fosse direcionado aos servidores superiores. Quando um domínio é solicitado ao dns resolver pela primeira vez ele então executa um lookup seguindo a hierarquia (começando pelo root server, depois pelo TLD servers, etc.) e armazena o resultado por um período (chamdo de TTL – Time to live), evitando assim que todos solicitações futuras desse domínio fossem direcionadas ao servidores superiores na hierarquia.

HTTP e HTTPS

Os termos HTTP e HTTPS fazem parte do endereço de todos sites (por mais que não tenhamos que digitá-los explicitamente). Mas o que significa HTTP e HTTPS? HTTP é um protocolo de aplicação projetado para transferência de hipertexto (e consequentemente hipermídia). Hipertexto, teoricamente seria “texto com links” (por exemplo o HTML). Já hipermídia seria qualquer tipo de arquivo de mídia (imagens, vídeos, sons etc.). É o principal protocolo por trás da web.

HTTPS tem o mesmo objetivo e funcionamento do HTTP, contudo funciona de forma criptografada, através do protocolo TLS (antigamente usávamos o SSL, que vem sendo depreciado). Com um certificado TLS na conexão HTTPS, além de criptografar a comunicação, é possível garantir que o servidor que se está acessando é de fato o servidor que se quer acessar.

Tecnicamente o HTTP vem sendo depreciado aos poucos e sendo “substituído” pelo HTTPS na maioria dos sites da internet devido à grandes esforços das grandes companhias de tecnologia e da recente atenção que a população está dando a privacidade digital.

Porta

Falando de uma forma simples, no sentido de software, porta é uma abstração usada por sistemas operacionais para saber para qual serviço encaminhar os pacotes que chegam. A porta geralmente é associada a um IP no formato: IP:PORTA, por exemplo 189.74.147.1:87. A porta pode assumir valores de 0 a 65535 (é um inteiro unsigned de 16 bits).

Servidor web

O que é um servidor web? Toda vez que você acessa um site é um servidor web que processa sua solicitação. Um servidor web é um processo (software) que tem o objetivo de servir conteúdos web (hipertexto e hipermídia) através do protocolo HTTP(S). Um servidor web geralmente utiliza as famosas portas 80 para HTTP e a 443 para HTTPS. Os softwares de servidores web mais famosos são o Apache, o Nginx, e o IIS da Microsoft.

O que acontece quando acessamos um site

1 – Você digita google.com no seu navegador
2 – Seu computador agora solicita ao DNS Resolver que está configurado no seu computador (ou na sua rede), que geralmente é mantido pelo seu provedor de internet e esse servidor vai realizar todas as consultas necessárias aos root servers, TLD servers etc. e irá retornar o IP do servidor web.
3 – Seu computador então se conecta à porta 443 ou a porta 80 desse IP.
4 – O servidor web processa sua solicitação e retorna a página.
5 – Seu navegador exibe a página.

Indicação do fluxo ao acessar um site

Dado o exposto, fica evidente que muitas coisas estão acontecendo quando acessamos um site. É importante citar que nesse artigo apenas citei uma parte muito pequena de toda tecnologia que está envolvida em toda web nos dias atuais. Em cada pequena parte do processo de funcionamento da web existe uma quantidade enorme de tecnologia, ciência e técnica em uso.

Obrigado pela leitura e um grande abraço!


Precisa de um site ou um sistema? Entre em contato comigo.



Marcado , , , , , , , , , , , ,

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para o topo