DEV Community

Alex Reis
Alex Reis

Posted on

Como o protocolo HTTP funciona?

Sempre que você acessa um site pode notar que a URL exibida no navegador é algo como https://dev.to, você sabe que dev.to é o endereço do site, a localização dele na web. Mas o que são as letrinhas HTTPS ou HTTP antes do endereço? Neste artigo vamos entender o que é o HTTP, para quê serve e como funciona.

O que é HTTP

O Hyper Transfer Text Protocol, ou HTPP, é um protocolo de transferência de documentos de hipermídia da camada de aplicação. Ele foi projeto para comunicação entre clientes e servidores, mas também pode ser usado para outros fins, como comunicação máquina a máquina, acesso programático a APIs e muito mais. Ele é enviado por TCP ou por conexção TCP criptografada por TLS ou SSL, o HTTPS utiliza esta camada adicional de segurança. Confira mais detalhes da história do HTTP.

Aspectos do HTTP

O HTTP segue o modelo cliente-servidor, no qual clientes (na maioria das vezes um navegador web) e servidores se comunicam por meio de mensagens individuais. As mensagens enviadas pelo cliente, as solicitações ou requisições, são chamadas de requests e as mensagens enviadas como resposta pelo servidor são chamadas responses.

O HTTP é stateless, isso significa que ele não guarda qualquer dado entre requisições, cada requisição do cliente é tratada de forma independente. Porém ele não é sesionless, a adição de cookies HTTP permitem que os aplicações web armazenem quantidades limitadas de dados e lembrem informações de estado.

Como funciona o HTTP

O cliente, um navegador web geralmente, faz uma requisição a um servidor para obter um recurso como uma página HTML, imagens ou arquivos. Neste momento é aberta uma conexão ente os dois. Na requisição HTTP é explicitado o método pretendido e o caminho do recurso desejado.

O servidor recebe essa solicitação, busca o recurso e ao encontrar responde ao navegador uma mensagem contendo o recurso e informações adicionais no cabeçalho da mensagem HTTP.

O cliente recebe a resposta do servior, e encerra a conexão.

Mensagens HTTP

As mensagens HTTP, conforme definido em HTTP/1.1 e anteriores, são legíveis por humanos. No HTTP/2, essas mensagens são incorporadas em uma estrutura binária, um quadro, permitindo otimizações como compactação de cabeçalhos e multiplexação.

Requisições

Exemplo de requisição HTTP:

GET / HTTP/1.1
Host: meusite.com
Accept-Language: en-US
Enter fullscreen mode Exit fullscreen mode
  • GET é o método HTTP.
  • / é o caminho do recurso a ser buscado.
  • HTTP/1.1 a versão do protocolo.
  • O Hoste Accept-Language são parte do cabeçalho HTTP e fornecem informações adicionais sobre navegador e preferências de conteúdo.
  • Ainda pode conter um corpo para alguns métodos como o POST, que contém o recurso enviado.

Respostas

Exemplo de resposta:

HTTP/1.1 200 OK
Date: Wed, 09 MAY 2025 01:58:00 GMT
Content-Length: 1999
Content-Type: text/html; charset=UTF-8
Enter fullscreen mode Exit fullscreen mode
  • HTTP/1.1 a versão do protocolo HTTP que eles seguem.
  • 200 um código de status, indicando que a solicitação foi bem-sucedida.
  • OK uma mensagem de status, uma breve descrição não autorizada do código de status.
  • Cabeçalhos HTTP, como aqueles para solicitações.
  • Opcionalmente, um corpo que contém o recurso buscado.

Métodos HTTP

O HTTP define um conjunto de certos métodos de solicitação para enviar mensagens indicando a finalidade da solicitação e o que é esperado em caso de sucesso.

GET

Este método tem finalidade de solicitar um recurso especifico. É usado para recuperar dados e não deve conter conteúdo no corpo da solicitação.

POST

Este método indica que a solicitação faz a publicação de um recurso no servidor.

PUT

Substitui todas as entidades do recurso alvo pelo conteúdo do corpo da solicitação.

PATCH

Faz modificações parciais em um recurso, que ao contrário do PUT substituí um recurso por inteiro.

DELETE

Este método excluí o recurso.

CONNECT

Estabele um túnel para o servidor identificado pelo recurso alvo.

OPTIONS

Descreve opções de comunição para o recurso alvo.

Conclusão

E então chegamos ao fim deste texto, espero que eu tenha conseguido explicar minimamente o que é o HTTP e que tenha ajudado a você leitor. Abraços.

Referências:

Top comments (0)