Skip to content

Como funciona o HTTP: Explicação do protocolo de transferência de hipertexto

12 de abril de 2021

O protocolo de transferência de hipertexto fornece um padrão de protocolo de rede que navegadores da web e servidores usam para se comunicar. Você vê o HTTP todos os dias porque quando você visita um site, o protocolo está escrito na URL (por exemplo https://www.fiodevida.com) Este protocolo é semelhante a outros, como o protocolo de transferência de arquivos, no sentido de que é usado por um programa cliente para solicitar arquivos de um servidor remoto. No caso de HTTP, geralmente é um navegador da web que solicita arquivos HTML de um servidor da web, que são exibidos no navegador com texto, imagens, hiperlinks e ativos relacionados. Como os navegadores por padrão se comunicam usando HTTP, geralmente você pode descartar o protocolo de um URL ao digitá-lo na barra de endereços do navegador.

História do HTTP

Tim Berners-Lee criou o padrão HTTP inicial no início dos anos 1990 como parte de seu trabalho na definição da World Wide Web original. Três versões primárias foram amplamente implantadas durante a década de 1990:

  • HTTP 0.9: Suporte de documentos básicos de hipertexto
  • HTTP 1.0: Extensões para oferecer suporte a sites ricos
  • HTTP 1.1: Desenvolvido para lidar com as limitações de desempenho de HTTP 1.0, especificadas na Internet RFC 2068

A versão mais recente, HTTP 2.0, tornou-se um padrão aprovado em 2015. Ele mantém compatibilidade com versões anteriores de HTTP 1.1, mas oferece aprimoramentos de desempenho adicionais. Embora o HTTP padrão não criptografe o tráfego enviado pela rede, o padrão HTTPS adiciona criptografia ao HTTP por meio do uso de Secure Sockets Layer ou, posteriormente, Transport Layer Security.

Como funciona o HTTP

HTTP é um protocolo de camada de aplicativo criado com base no TCP que usa um modelo de comunicação cliente-servidor. Clientes e servidores HTTP se comunicam por meio de mensagens de solicitação e resposta. Os três principais tipos de mensagem HTTP são GET, POST e HEAD.

  • HTTP GET – as mensagens enviadas para um servidor contêm apenas um URL. Zero ou mais parâmetros de dados opcionais podem ser anexados ao final do URL. O servidor processa a parte de dados opcional do URL, se presente, e retorna o resultado (uma página da web ou elemento de uma página da web) para o navegador.
  • HTTP POST – as mensagens colocam quaisquer parâmetros de dados opcionais no corpo da mensagem de solicitação em vez de adicioná-los ao final da URL.
  • HTTP HEAD – as solicitações funcionam da mesma forma que as solicitações GET. Em vez de responder com o conteúdo completo da URL, o servidor envia de volta apenas as informações do cabeçalho (contidas na seção HTML).

Diagrama de uma mensagem HTTP GET.

O navegador inicia a comunicação com um servidor HTTP, iniciando uma conexão TCP com o servidor. As sessões de navegação na Web usam a porta 80 do servidor por padrão, embora outras portas, como 8080, às vezes sejam usadas no lugar. Após o estabelecimento de uma sessão, você aciona o envio e o recebimento de mensagens HTTP visitando a página da web. HTTP é o que chamamos de sistema sem estado. Isso significa que, ao contrário de outros protocolos de transferência de arquivos, como FTP, a conexão HTTP é interrompida após a conclusão da solicitação. Assim, depois que seu navegador enviar a solicitação e o servidor responder com a página, a conexão é encerrada.

 

Solução de problemas de HTTP

As mensagens transmitidas por HTTP falham por vários motivos:

  • Erro do usuário
  • Mau funcionamento do navegador da web ou servidor da web
  • Erros na criação de páginas web
  • Falhas temporárias de rede

Quando essas falhas ocorrem, o protocolo captura a causa da falha e relata um código de erro de volta ao navegador denominado linha / código de status HTTP. Os erros começam com um determinado número para indicar que tipo de erro é. Por exemplo, erros com um código de falha começando com quatro indicam que a solicitação da página não pode ser concluída corretamente ou que a solicitação contém sintaxe incorreta. Por exemplo, erros 404 significam que a página não pode ser encontrada; alguns sites até oferecem divertidas páginas de erro 404 personalizadas.