Seu IP: Sem dados · Seu status: ProtegidoDesprotegidoSem dados

Pular para o conteúdo principal

O que é HTTP? Como funciona o protocolo HTTP?

O HTTP é um sistema de regras (protocolo) estabelecido para organizar a maneira em que os computadores trocam dados entre si. Essa pequena sigla está presente desde o início da internet e é o que permite que toda pessoa com acesso à rede consiga obter recursos online e se comunique com os grandes servidores que estruturam e fazem funcionar a internet.

O que é HTTP? Como funciona o protocolo HTTP?

Conhecer mais detalhes sobre o funcionamento desse intrigante quebra-cabeças digital ajuda a compreender não apenas seus pontos positivos, mas também as fraquezas. Do ponto de vista da segurança cibernética, é possível tomar ciência e algumas decisões informadas para reduzir suas vulnerabilidades.

O que significa a sigla HTTP?

HTTP é a abreviação, em inglês, de Protocolo de Transferência de Hipertexto (Hypertext Transfer Protocol), um sistema que permite transferir os elementos de endereços virtuais entre máquinas.

Esse conjunto de regras permite passar de modo eficaz todos os vários detalhes menores de páginas virtuais (tanto mídia quanto formatos e organização de itens) para formar um documento maior a cada novo acesso.

Decompor as letras da sigla pode ajudar a explicar de maneira mais detalhada o que significa HTTP e a razão de ser dessas regras:

  • Hipertexto: também conhecido atualmente como hipermídia, o hipertexto é o nome atribuído a todos os elementos variados de mídia que se conectam a outros tipos de mídia, o que inclui textos, imagens, vídeos e áudio. Essa conexão é um atributo fundamental da interatividade que a internet trouxe para a experiência humana.
  • Protocolo de Transferência: O HTTP é um de vários protocolos de rede, que organizam a comunicação entre dispositivos. Dentro da comunicação em rede, ele funciona na camada de aplicações, o que significa que é executado por navegadores ou outros aplicativos usados para visualizar sites.

Como funciona o HTTP?

A comunicação usando o protocolo HTTP funciona basicamente em duas pontas: a partir das solicitações do lado do usuário, também chamado de cliente, e em direção ao lado de um servidor web.

O cliente usa um navegador para tal comunicação e seu lado sempre começa essa comunicação, e nunca os servidores. Como a internet é composta de várias camadas, às vezes as solicitações podem partir de uma outra máquina representante intermediária do usuário, chamada de proxy, rumo ao servidor.

Um servidor pode assumir diferentes formas: pode ser uma máquina, um sistema distribuído por várias máquinas ou, ainda, um programa complexo que acessa a informação de outros servidores. Os servidores armazenam os elementos que “montam” os sites da internet a cada acesso e é por isso que os clientes se comunicam com eles via protocolo HTTP.

Toda página da web é um documento escrito na linguagem de hipertexto, chamada HTML. Quando o cliente recebe o(s) documento(s) do servidor, o navegador interpreta seus elementos e mostra ao internauta a página completa e organizada.

Como foi criado o protocolo HTTP?

Em 1965, o pioneiro da tecnologia da informação Ted Nelson formulou os conceitos de hipertexto e hipermídia. Um sistema de hipertextos já tinha sido idealizado no pós-guerra pelo engenheiro norte-americano Vannevar Bush, que propôs a construção de um arquivo público e biblioteca mecanizados chamados Memex, para organizar os conhecimentos humanos.

Porém, o protocolo HTTP efetivamente foi criado pelo cientista da computação Tim Berners-Lee e sua equipe somente anos depois. Ele publicou o primeiro site da internet em 1990, numa rede acadêmica restrita, propondo a rede de sites chamada WorldWideWeb e explicando o sistema do protocolo HTML.

Inicialmente, o protocolo permitia uma comunicação eficaz, porém limitada. Por exemplo, o cliente era capaz de enviar apenas um tipo de solicitação ao servidor (do tipo GET, explicada mais adiante nesse texto).

Posteriormente, o conjunto de regras e processos que constitui o protocolo HTTP foi expandido e aprimorado, num esforço coordenado entre a Força Tarefa de Engenharia da Internet (IETF) e o Consórcio World Wide Web, fundação padronizadora do protocolo fundada por Berners-Lee.

Com o passar dos anos, diversas outras reformulações foram feitas no protocolo, acolhendo preocupações como sua universalidade de uso e a segurança de comunicações, como veremos mais adiante.

O protocolo HTTP

Superficialmente, o funcionamento do protocolo HTTP pode ser enxergado ao digitar um endereço de site na barra de endereço do navegador e esperar que a conexão seja estabelecida.

Isso é viabilizado pela parte “invisível” do protocolo, que é toda a comunicação entre máquinas. Nela, o que foi digitado na barra de endereço é uma solicitação, feita ao servidor web.

O servidor responde primeiramente com um código de três dígitos, que informa ao cliente o status da solicitação (se ela pode ou não ser respondida).

Se for respondida, o acesso pode ser garantido. Em algumas ocasiões, ocorre um erro na solicitação. O código 404 informa esse tipo de situação, e é essa a razão por trás do nome do temido “Erro 404”, indicando que uma página está inacessível.

Solicitações HTTP

A comunicação entre máquinas é extremamente veloz, mas também muito diferente da comunicação humana. No contexto do protocolo HTTP, há oito tipos de comunicações, também chamadas de requisições, solicitações ou métodos HTTP.

Conforme já citado, os clientes fazem requisições ao servidor e recebem um código de status, conforme consigam iniciar a ação desejada no servidor. Esses códigos diferem para cada um dos métodos HTTP.

Conheça os tipos de requisições brevemente a seguir:

  • GET – representada pelo código de status 200, é usada para ler ou entregar dados específicos do servidor.
  • HEAD – é uma requisição ao servidor de dados sobre o cabeçalho da página solicitada. Assim, pode garantir acesso a algumas informações úteis, como o tamanho da página ou tags de organização sem ter que carregar uma página completa.
  • POST – solicitação feita para transferir dados ao servidor, na forma de arquivos, formulários ou outros. Retorna o código de status 201 quando executada com sucesso.
  • PUT – método HTTP para modificar completamente um dado no servidor ou gerar um novo dado nele.
  • PATCH – requisição HTTP que aplica modificações parciais a um recurso de um servidor.
  • DELETE – um método HTTP usado para remover um dado especificado no servidor.
  • OPTIONS – requisição para descobrir quais são os tipos de solicitações permitidas para dados específicos num servidor.
  • TRACE – método HTTP útil para detectar as origens de erros numa requisição, o TRACE envia um teste que mostra o caminho feito por uma comunicação até chegar a um dado específico do servidor.
  • CONNECT – comunicação feita para estabelecer um túnel criptografado TCP/IP, facilitando a comunicação segura SSL ou HTTPS. Conheça mais a respeito da segurança de HTTP e comunicação criptografada a seguir.

O HTTP é seguro?

Embora formas mais seguras do protocolo HTTP sejam mais e mais usadas na rede, é preciso admitir que trata-se de um processo de transferência de informações datado nas suas versões mais antigas ainda em uso.

Além disso, também devido ao seu longo tempo em vigência, cibercriminosos já sabem exatamente como funcionam suas etapas e podem explorar vulnerabilidades para atingir vítimas. Se não nas requisições entre cliente e servidor, outros pontos no acesso a sites podem ser explorados de maneira maliciosa.

Com muitos anos de uso, as vulnerabilidades de segurança no protocolo HTTP são fartamente documentadas. Algumas das mais notáveis frestas para ataques virtuais nesse contexto são:

Como proteger a navegação

Felizmente, há algumas boas opções para acessar a internet de maneira segura usando HTTP.

O padrão HTTPS usa protocolos HTTP somados a criptografia do certificado SSL e TLS (a letra “S” significa “Secure”, indicando a preocupação com a segurança). Inicialmente, era usado para transações de pagamento na internet e acesso a e-mails. Entre os anos 2000 e 2010, recebeu aplicações mais amplas para proteger outras comunicações entre partes, contas de usuários e autenticação de sites.

Em 2019, entidades de privacidade digital e empresas de tecnologia impulsionaram a expansão do uso desse padrão para a maior parte dos sites da internet e os principais navegadores hoje marcam páginas não criptografadas como “não seguras”. O ícone do cadeado na barra de endereço é o sinal típico de tráfego seguro HTTPS.

Usar extensões protetivas de navegador

Diversas extensões foram desenvolvidas para aumentar o nível de segurança na navegação. Alguns deles sinalizam mais claramente a entrada numa conexão HTTP não segura ou forçam os sites de destino, quando possível, a usar o protocolo HTTPS.

Usar uma VPN

Embora uma VPN não proteja contra ataques que exploram as vulnerabilidades na comunicação HTTP de um site ou num navegador, ela garante a segurança na comunicação dos dados entre a máquina e o servidor.

A Proteção Contra Ameaças é um diferencial da NordVPN, que protege contra algumas vulnerabilidades trazidas pelo HTTP. Isso inclui uma privacidade maior contra os parâmetros de rastreamento que os sites acrescentam às URLs.

O URL é o endereço de um site por extenso, e ela pode revelar informações pessoais a terceiros. O cortador de URL é outra ferramenta relacionada de proteção que acrescenta mais uma camada de privacidade à navegação.

Sua segurança online começa com um clique.

Fique em segurança com a VPN líder a nível mundial

Quais as diferenças entre HTTP e HTTP/2?

Depois de várias contribuições coletivas, o protocolo HTTP foi padronizado em 1997, com o nome de HTTP/1.1. Porém, com o passar do tempo, as páginas web tem ficado mais complexas.

A quantidade de informação transmitida há poucos anos era muito menor do que hoje em dia, em que há muito mais pessoas se conectando, mais ênfase em mídia visual e maior presença de scripts. Por isso, as solicitações HTTP também ficaram muito mais numerosas e complexas para as conexões existentes.

Evoluções em segurança, como o desenvolvimento do HTTPS, foram contribuições bem-vindas para aprimorar as comunicações cliente-servidor. Uma nova padronização mais geral, chamada HTTP/2, trouxe mudanças ainda mais estruturais para o protocolo usado por anos.

As regras HTTP/2 foram padronizadas em 2015 e em janeiro de 2022 quase metade da internet já aderia a elas. A adoção não exigiu uma grande mudança em sites e aplicações, sendo iniciada pela atualização de alguns grupos de servidores.

O HTTP/2 apresenta algumas inovações importantes em comparação com o HTTP/1.1:

  • Permite que a mesma conexão seja usada para fazer solicitações paralelas, otimizando a comunicação
  • Comprime os cabeçalhos das páginas, removendo informações duplicadas e redundantes
  • O protocolo deixou de ser textual para tornar-se binário. Embora não possa mais ser lido ou criado manualmente, permite otimizar as conexões

O HTTP/2 também funciona numa camada de transporte mais ágil chamada QUIC, em vez da TCP, usada pelo HTTP/1.1. O novo protocolo já foi modificado, iniciando o uso da versão HTTP/3. Embora não traga muitas diferenças estruturais, ela funciona em diversas camadas de transporte QUIC, diminuindo ainda mais o tempo de espera na comunicação.