O que é HTTP?

O Protocolo de Transferência de Hipertexto é usado para carregar páginas na internet usando hiperlinks.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir HTTP
  • Descrever a anatomia das solicitações e respostas HTTP
  • Entender como os ataques DDoS podem ser lançados por HTTP

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é HTTP?

O Protocolo de Transferência de Hipertexto (HTTP) é a base da internet e é usado para carregar páginas web usando links de hipertexto. O HTTP é um protocolo da camada de aplicação desenvolvido para transferir informações entre dispositivos em rede e é executado no topo de outras camadas da pilha de protocolos de rede. Um fluxo típico de HTTP envolve uma máquina cliente que faz uma solicitação a um servidor, o qual por sua vez, envia uma mensagem de resposta.

O que há em uma solicitação HTTP?

Uma solicitação HTTP é a forma como as plataformas de comunicação da internet, como os navegadores web, pedem as informações de que necessitam para carregar um site.

Cada solicitação HTTP feita pela internet traz consigo uma série de dados codificados que trazem diferentes tipos de informações. Uma solicitação HTTP típica contém:

  1. Tipo de versão do HTTP
  2. uma URL
  3. um método HTTP
  4. Cabeçalhos de solicitação HTTP
  5. Corpo opcional do HTTP.

Vamos explorar com mais profundidade de que forma essas solicitações funcionam e como o conteúdo de uma solicitação pode ser usado para compartilhar informações.

Relatório
A situação das ameaças de DDoS: T3 2023

Relatório
Leia o relatório sobre o cenário de ameaças DDoS no T4 de 2023

O que é um método HTTP?

Um método HTTP, às vezes denominado verbo HTTP, indica a ação que a solicitação HTTP espera do servidor consultado. Por exemplo, dois dos métodos HTTP mais comuns são "GET" e "POST"; uma solicitação "GET espera receber informações de volta (geralmente na forma de um site), enquanto uma solicitação "POST" normalmente indica que o cliente está enviando informações ao servidor web (como informações de formulário, por exemplo, um nome de usuário e senha enviados).

O que são cabeçalhos de solicitação HTTP?

Os cabeçalhos HTTP contêm informações de texto armazenadas em pares chave-valor e são incluídos em todas as solicitações HTTP (e respostas, falaremos mais sobre isso adiante). Esses cabeçalhos comunicam informações essenciais, como qual navegador o cliente está usando e quais dados estão sendo solicitados.

Exemplo de cabeçalhos de solicitação HTTP da guia de rede do Google Chrome:

Cabeçalhos de solicitação HTTP

Proteção contra DDoS
Obtenha proteção contra DDoS com qualquer plano da Cloudflare

O que há no corpo de uma solicitação HTTP?

Corpo de uma solicitação é a parte que contém o "corpo" de informações que a solicitação está transferindo. O corpo de uma solicitação HTTP contém qualquer informação que está sendo enviada ao servidor web, como um nome de usuário e senha, ou quaisquer outros dados inseridos em um formulário.

O que há em uma resposta HTTP?

Uma resposta HTTP é o que os clientes web (frequentemente navegadores) recebem de um servidor de internet em resposta a uma solicitação HTTP. Essas respostas comunicam informações valiosas com base no que foi pedido na solicitação HTTP.

Uma resposta HTTP típica contém:

  1. um código de status HTTP
  2. Cabeçalhos de resposta HTTP
  3. corpo de HTTP opcional
  4. Vamos especificar cada um deles:

    O que é um código de status HTTP?

    Os códigos de status HTTP são códigos de três dígitos usados mais frequentemente para indicar se uma solicitação HTTP foi concluída com sucesso. Os códigos de status são divididos nos cinco blocos a seguir:

    1. 1xx Informativo
    2. 2xx Sucesso
    3. 3xx Redirecionamento
    4. 4xx Erro no cliente
    5. 5xx Erro no servidor
    6. O "xx" se refere a números diferentes entre 00 e 99.

      Os códigos de status que começam com o número "2" indicam que a solicitação foi concluída com sucesso. Por exemplo, depois que um cliente solicita uma página web, as respostas mais comumente vistas têm um código de status de "200 OK", indicando que a solicitação foi devidamente concluída.

      Se a resposta começar com um "4" ou um "5", isso significa que houve um erro e a página web não será exibida. Um código de status que começa com um "4" indica um erro do lado do cliente (é muito comum encontrar um código de status "404 NOT FOUND" quando se comete um erro de digitação de um URL). Um código de status que começa com "5" significa que algo deu errado no lado do servidor. Os códigos de status também podem começar com "1" ou "3", que indicam uma resposta informativa e um redirecionamento, respectivamente.

      O que são cabeçalhos de resposta HTTP?

      Assim como uma solicitação HTTP, uma resposta HTTP vem com cabeçalhos que transmitem informações importantes, como o idioma e o formato dos dados enviados no corpo da resposta.

      Exemplo de cabeçalhos de resposta HTTP da guia de rede do Google Chrome:

      Cabeçalhos de resposta HTTP

      O que há em um corpo de resposta HTTP?

      As respostas HTTP bem sucedidas para as solicitações "GET" geralmente têm um corpo que contém as informações solicitadas. Na maioria das solicitações da web, trata-se de dados HTML que um navegador web traduzirá para uma página web.

      Os ataques DDoS podem ser lançados via HTTP?

      Lembre-se que o HTTP é um protocolo "stateless", o que significa que cada comando é executado independentemente de qualquer outro comando. Na especificação original, o HTTP solicita que cada um crie e feche uma conexão TCP . Em versões mais recentes do protocolo HTTP (HTTP 1.1 e superior), a conexão persistente permite que várias solicitações HTTP passem por uma conexão TCP persistente, melhorando o consumo de recursos. No contexto dos ataques DoS ou DDoS, solicitações HTTP em grandes quantidades podem ser usadas para montar um ataque em um dispositivo visado, e são consideradas parte dos ataques da camada de aplicação ou ataques de camada 7.