O que é internet?

É uma rede que conecta dispositivos, como computadores e celulares, que possibilita a transferência de dados entre eles.

Mas, como essa transferência de dados é feita?

Todo o computador possui um endereço numérico único, chamado IP. Além do IP, o computador possui diversas portas, que é por onde as aplicações e processos fazem a comunicação.

Para acessar uma determinada página da web, por exemplo, o meu computador (cliente) deve estabelecer uma conexão com o computador (servidor) que hospedada a página desejada. Ou seja, para conectar ao outro computador, eu preciso saber seu IP e sua porta.

Porém, quando acesso uma determinada página, eu não ofereço um IP e sim uma URL. E é aí que entra o DNS.

O que é DNS?

O DNS é um servidor de nomes, que pode ser acessado por qualquer computador conectado a rede. Ele funciona como uma lista telefônica fazendo a indexação de uma URL para um endereço IP.

E como saber a porta?

Por convenção, determinados serviços são oferecidos em determinadas portas. Uma transferência de arquivos por exemplo, normalmente acontece na porta 21, enquanto o serviço de entrega de email costuma acontecer na porta 25.

<aside> 💡 O serviço de entrega de páginas web acontece na porta 80.

</aside>

1.png

Protocolo TCP/IP

Com o endereço IP e o destino da porta conhecidos, é possível fazer a conexão entre cliente (seu computador) e servidor (computador que hospeda a página). O protocolo usado para essa conexão é o TCP (Transmission Control Protocol). Estabelecida a conexão, o servidor começa a enviar pacotes, fragmentos de dados, contendo diversas informações ao cliente, como porta de origem, porta de destino.

O TCP é um protocolo ponto-a-ponto. Isso significa que os pacotes são enviados de forma ordenada e sem modificações, para garantir que a reconstrução possa ser feita de forma adequada. Além disso, ele possui garantia de entrega e controle de fluxo.

<aside> 💡 Protocolos são vistos em mais detalhes na cadeira de Redes de Computadores!

</aside>

...e chegamos ao HTTP

O HTTP (Hypertext Transfer Protocol) é o "idioma" que os navegadores e os servidores web conversam. Usando esse protocolo, o navegador consegue informar qual a sua versão, o seu idioma, se aceita conteúdo compactado e qual página foi solicitada. Ao mesmo tempo, o servidor utiliza o mesmo protocolo para comunicar se a página pedida existe, qual o formato da página, se há algum cookie e o conteúdo da página.

Quando o navegador pede uma página ao servidor, chamamos isso de requisição e, quando o servidor web envia essa página para o navegador, chamamos isso de resposta. Cada requisição feita é independente uma da outra, ou seja, se eu fizer uma nova requisição o servidor web não vai lembrar que eu já realizei uma requisição anteriormente. Por isso, o HTTP é considerado um protocolo sem estados.