DEV Community

Yuri Peixinho
Yuri Peixinho

Posted on

HTTP e TCP/IP

Quando um usuário acessa um website envolve o processo de uma solicitação HTTP pelo cliente-servidor. Essa resposta HTTP que é enviada de volta ao cliente são mensagens baseadas em texto, que significa que as mensagens trocadas entre o cliente (geralmente navegador web) e servidor são escritas em textos simples e não codificadas de forma binária ou de alguma outra forma não legível para o ser humano.

Esse protocolo é a base da comunicação de dados e age em conjunto com outros dois protocolos de redes, o TCP e IP. Então, quando o cliente (navegador) quer se comunicar com o servidor é aberta uma conexão TCP/IP e a requisição é enviada para o servidor.

Dinâmica cliente-servidor

Cliente é o dispositivo como um computador ou tablet que solicita os recursos, como da página web para um Servidor é o computador remoto que hospeda esses recursos e os fornece quando solicitados pelos clientes.

O cliente inicia a interação enviando uma solicitação (request) HTTP para o servidor. Esta solicitação geralmente contém informações sobre o recurso desejado, como o URL da página da web, parâmetros de consulta (se houver) e quaisquer cabeçalhos necessários para a comunicação, como informações de autenticação.

Após isso, o servidor recebe a solicitação e faz o processamento do cliente. Nessa etapa que é determinado o recurso solicitado e várias etapas de desenvolvimento, autenticação, cálculos, scripts e consultas em bancos de dados para gerar o conteúdo dinâmico.

O servidor então, após processar a requisição enviada pelo cliente devolve uma resposta (response) **HTTP, nessa resposta tem as informações sobre os recursos solicitado e informações adicionais do status dessa requisição, cabeçalhos de respostas ou corpo da mensagem.

Natureza Stateless

Existem algumas características e soluções para atender diferentes necessidades e funcionamento desse protocolo na web. Essas características agem em conjunto e faz com que o protocolo funcione com maior eficiência.

Quando dizemos que o HTTP é stateless (sem estado) significa que o protocolo não mantém o mesmo estado entre diferentes solicitações cliente-servidor. Permite então, que o protocolo seja simples e eficiente, tratando cada requisição com independência. Essa independência faz com que cada transação seja tratada separadamente sem interferir outras, gerando uma ausência de conhecimento sobre requisições anteriores, evitando a necessidade de manter informações do contexto ou histórico, com isso temos redução no uso de memória no servidor especialmente em ambientes com grande volume de tráfego e clientes simultâneos. Além disso, a natureza stateless elimina problemas de sessões expiradas, já que não tem uma sessão ativa no servidor.

O conjunto dessas características foram projetadas para simplificar a comunicação entre cliente-servidor e melhorar a eficiência do protocolo, garantindo uma melhor experiência, mais rápida, consistente e confiável na web.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

While many AI coding tools operate as simple command-response systems, Qodo Gen 1.0 represents the next generation: autonomous, multi-step problem-solving agents that work alongside you.

Read full post

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay