O Protocolo de Transferência de Hipertexto é usado para carregar páginas na internet usando hiperlinks.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
ataque de inundação de HTTP
TCP/IP
User Datagram Protocol (UDP)
Firewall de aplicativos web (WAF)
Malware
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
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.
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:
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.
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).
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:
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.
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:
Vamos especificar cada um deles:
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:
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.
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:
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.
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.