O RFC 10008, publicado em junho de 2026, introduz o método QUERY para o protocolo HTTP. Desenvolvido pelos autores J. Reschke, J.M. Snell e M. Bishop, o documento está classificado como Proposed Standard e faz parte da trilha de padrões da IETF.
O método QUERY tem como objetivo permitir que o cliente envie um corpo de mensagem que será processado pelo servidor de forma segura (não altera o estado) e idempotente (pode ser repetido sem efeitos colaterais). Essa característica o diferencia do tradicional POST, que pode gerar alterações de estado e, portanto, não deve ser reexecutado automaticamente.
Por que o QUERY é importante?
- Repetibilidade automática: aplicações podem reenviar a mesma requisição em caso de falhas de rede sem risco de criar registros duplicados ou modificar recursos inadvertidamente.
- Compatibilidade com caches: como o método é definido como seguro, proxies e caches podem tratá‑lo de forma semelhante ao GET, melhorando a eficiência das comunicações.
- Facilidade de implementação: servidores que já suportam POST podem adaptar o processamento para aceitar QUERY, reutilizando lógica de validação e resposta.
Principais características técnicas
| Característica | Descrição |
|---|---|
| Segurança | Não produz efeitos colaterais observáveis no recurso alvo. |
| Idempotência | Várias execuções geram exatamente o mesmo resultado. |
| Corpo da mensagem | Pode conter payload (JSON, XML, etc.) semelhante ao POST. |
| Código de status | Respostas típicas incluem 200 OK, 201 Created, 204 No Content, entre outros. |
| Cabeçalhos | Permite uso de Content-Type, Accept, Authorization, etc. |
Como usar o método QUERY
Exemplo de requisição HTTP usando QUERY:
QUERY /api/search HTTP/1.1
Host: exemplo.com
Content-Type: application/json
Accept: application/json
{
"term": "linux",
"limit": 10
}
A resposta pode ser:
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: max-age=60
{
"results": [ ... ],
"total": 42
}
Histórico e contexto
Até o momento, a especificação HTTP oficial (RFC 7231) definiu métodos como GET, POST, PUT, DELETE, PATCH, HEAD e OPTIONS. O método QUERY surge para suprir a lacuna entre GET (sem corpo) e POST (não seguro), atendendo a casos de uso onde o cliente precisa enviar dados complexos sem provocar alterações no servidor.
O documento foi desenvolvido pelo HTTP Working Group da IETF e está vinculado ao rascunho draft-ietf-httpbis-safe-method-w-body-14. Sua publicação abre caminho para futuras discussões e possíveis atualizações na especificação HTTP/1.1 e HTTP/2.
Impacto para desenvolvedores e operadores
- APIs RESTful: desenvolvedores podem oferecer endpoints que aceitam QUERY para buscas avançadas, filtragens ou cálculos que não modificam recursos.
- Infraestrutura de rede: proxies, CDNs e firewalls podem otimizar o tratamento de QUERY da mesma forma que tratam GET, reduzindo latência.
- Compliance e auditoria: por ser classificado como método seguro, o uso de QUERY facilita a conformidade com políticas de segurança que restringem operações de escrita automática.
Onde encontrar o RFC completo
O texto integral do RFC 10008 está disponível nas bibliotecas online da IETF:
- Página oficial: RFC 10008 – The HTTP QUERY Method
- DOI: 10.17487/RFC10008
Conclusão
A introdução do método QUERY no RFC 10008 representa um avanço significativo para a padronização de requisições HTTP que precisam transportar payloads sem comprometer a segurança ou idempotência. Sua adoção pode melhorar a robustez de APIs, simplificar a gestão de falhas de rede e ampliar as possibilidades de design de serviços web modernos.