Entenda o que é o protocolo HTTP, como funcionam requisições, respostas, métodos e códigos de status e as diferenças entre HTTP/1.1, HTTP/2 e HTTP/3.
Confira!
O HTTP — Hypertext Transfer Protocol é um protocolo de aplicação baseado no modelo requisição-resposta. Ele define uma interface uniforme para que clientes solicitem recursos ou executem operações e para que servidores respondam com representações, metadados e códigos de status.
O que é o protocolo HTTP
A especificação moderna separa as semânticas do HTTP do formato utilizado para transportar as mensagens. O núcleo atual está no RFC 9110, que define métodos, códigos de status, campos, conceitos de recurso, representação, cache e os esquemas de URI http e https.
O HTTP é stateless por definição: cada requisição deve poder ser interpretada de forma independente. Isso não impede que aplicações mantenham sessões em uma camada superior por meio de cookies, tokens ou outros mecanismos.
Como funciona o modelo cliente-servidor
Um cliente estabelece um canal adequado até um servidor e envia uma requisição contendo um método, um alvo e campos de controle. O servidor interpreta a intenção, processa o recurso correspondente e envia uma resposta.
Em HTTP/1.1, a mensagem possui uma start-line, campos de cabeçalho e, opcionalmente, um corpo. O RFC 9112 define a sintaxe e o enquadramento de mensagens do HTTP/1.1, enquanto o RFC 9110 mantém as semânticas compartilhadas também pelas versões posteriores.
Métodos HTTP
Os métodos indicam a intenção da requisição. Entre os mais conhecidos estão GET, HEAD, POST, PUT, DELETE, OPTIONS e CONNECT.
Um erro comum é interpretar GET como “baixar uma página” e POST como “enviar um formulário”. Essas são aplicações comuns, mas o protocolo define semânticas mais gerais. O comportamento correto também depende das propriedades de segurança, idempotência e cache de cada método.
Códigos de status
As respostas HTTP incluem códigos de três dígitos agrupados em classes. Respostas 2xx indicam sucesso; 3xx tratam redirecionamentos; 4xx representam condições associadas à requisição do cliente; e 5xx indicam falhas no processamento pelo servidor.
O código de status não substitui a análise do conteúdo e dos cabeçalhos. Uma integração robusta precisa interpretar corretamente a resposta completa e as regras específicas da API ou serviço.
HTTP/1.1, HTTP/2 e HTTP/3
HTTP não é hoje sinônimo apenas de HTTP/1.1. As três principais versões compartilham as semânticas do RFC 9110, mas utilizam mecanismos diferentes no transporte.
O HTTP/1.1 usa a sintaxe definida no RFC 9112. O HTTP/2, especificado no RFC 9113, introduz multiplexação de streams e compressão de cabeçalhos. O HTTP/3, definido no RFC 9114, usa QUIC sobre UDP e fornece uma arquitetura de transporte diferente, incluindo segurança integrada ao QUIC.
Isso significa que dizer simplesmente “HTTP usa TCP” é correto apenas em determinados contextos. HTTP/1.1 e HTTP/2 normalmente operam sobre TCP; HTTP/3 opera sobre QUIC, que por sua vez utiliza UDP.
HTTP e HTTPS
HTTP e HTTPS compartilham as mesmas semânticas de aplicação, mas o esquema https exige que a comunicação esteja protegida por um canal seguro apropriado. Em implementações tradicionais sobre TCP, isso normalmente significa HTTP sobre TLS.
A segurança não está embutida no HTTP puro. Sem proteção adicional, informações podem ser observadas ou modificadas por um intermediário com capacidade de interceptação.
HTTP no ONVIF
ONVIF utiliza HTTP ou HTTPS como base para diversos serviços e trocas de mensagens. Isso não significa que o vídeo necessariamente seja transportado como um fluxo HTTP comum. O ecossistema combina protocolos de aplicação, controle, transporte de mídia e segurança conforme a função.
Em uma arquitetura típica, chamadas de serviço podem ocorrer sobre HTTP/HTTPS, enquanto RTSP controla uma sessão de streaming e RTP transporta a mídia. O valor do ONVIF está em padronizar interoperabilidade sobre esses mecanismos existentes.
HTTP em APIs e sistemas de segurança eletrônica
Câmeras, VMS, controladores, gateways e plataformas de integração frequentemente expõem serviços baseados em HTTP. Na prática de engenharia, isso exige compreender autenticação, certificados, métodos, timeouts, redirects, proxies, MTU, DNS e política de firewall.
Uma falha de acesso pode não estar no “HTTP” em si. Pode ocorrer no TCP, no TLS, na resolução DNS, no certificado, no proxy, no servidor de aplicação ou no payload enviado.
HTTP não é protocolo de transporte
HTTP pertence à camada de aplicação. TCP e UDP são protocolos de transporte. Essa distinção é essencial para troubleshooting porque cada camada possui responsabilidades diferentes.
Quando um navegador ou cliente não recebe resposta, a sequência de diagnóstico deve verificar conectividade IP, transporte, negociação de segurança quando aplicável e só então a semântica HTTP.
Quando o HTTP é usado
HTTP é adequado para acesso a recursos, APIs, configuração, integração, transferência de representações e diversas formas de comunicação cliente-servidor. Sua extensibilidade e ubiquidade explicam por que ele é utilizado muito além de páginas web.
Em sistemas ONVIF, compreender HTTP ajuda a separar corretamente o plano de serviços e controle do plano de transporte da mídia.
Referências técnicas
[1] FIELDING, R.; NOTTINGHAM, M.; RESCHKE, J. RFC 9110: HTTP Semantics. RFC Editor, 2022.
[2] FIELDING, R.; NOTTINGHAM, M.; RESCHKE, J. RFC 9112: HTTP/1.1. RFC Editor, 2022.
[3] THOMSON, M.; BENFIELD, B. RFC 9113: HTTP/2. RFC Editor, 2022.
[4] BISHOP, M. RFC 9114: HTTP/3. RFC Editor, 2022.
Perguntas frequentes
É um protocolo de aplicação baseado no modelo requisição-resposta, usado para interagir com recursos por meio de métodos, campos e códigos de status.
As semânticas comuns estão no RFC 9110. O HTTP/1.1 usa o RFC 9112, o HTTP/2 o RFC 9113 e o HTTP/3 o RFC 9114.
Não. HTTP/1.1 e HTTP/2 normalmente usam TCP, enquanto HTTP/3 usa QUIC sobre UDP.
Eles compartilham as semânticas HTTP, mas o esquema HTTPS exige comunicação protegida por um canal seguro, normalmente TLS em implementações sobre TCP.
