RFC 10008: O Novo Método QUERY e Sua Importância para APIs Modernas
O HTTP acaba de receber um método que desenvolvedores vêm pedindo há mais de uma década. Com a publicação do RFC 10008 em junho de 2026, o método QUERY foi oficialmente padronizado, trazendo uma solução elegante para um problema antigo: como fazer consultas complexas mantendo semântica correta, segurança e cacheabilidade.
Por Que Isso Importa?
Durante anos, arquiteturas REST enfrentaram um dilema clássico:
- Usar GET com query strings → limitações de tamanho, problemas de encoding, exposição de dados e pouca flexibilidade para estruturas complexas.
- Usar POST para buscas → funcional, mas semanticamente incorreto (não é safe, não é idempotente e não é bem cacheado).
O QUERY resolve isso de forma definitiva: é um método safe, idempotent e cacheable que permite enviar um corpo rico na requisição.
Exemplo Prático
QUERY /products/search HTTP/1.1
Host: api.suaempresa.com
Content-Type: application/json
Accept: application/json
{
"filters": {
"category": "electronics",
"price": { "gte": 100, "lte": 5000 },
"in_stock": true
},
"sort": ["-rating", "price"],
"pagination": { "page": 1, "limit": 20 },
"include": ["reviews", "inventory"]
}
Principais Características Técnicas (RFC 10008)
-
Safe & Idempotent: Pode ser repetido e cacheado com segurança.
-
Request Body: Totalmente suportado e esperado (JSON, XML, GraphQL, etc.).
-
Cache Key: Deve considerar o conteúdo + Content-Type.
-
Headers Relevantes:
Accept-Query: Servidor informa formatos suportados.Content-Location: Para resultados persistentes.Location: Para reutilizar a própria query.
-
Códigos de Resposta Recomendados: 200 OK, 400, 415, 422, 406, entre outros.
Comparação Rápida
| Método | Safe | Idempotent | Suporta Body | Cacheável |
|---|---|---|---|---|
| GET | Sim | Sim | Não recomendado | Sim |
| QUERY | Sim | Sim | Sim | Sim |
| POST | Não | Não | Sim | Limitado |
Impacto Prático
- GraphQL: Permite usar o método correto em vez de POST genérico.
- APIs Públicas: Melhor semântica e suporte de CDNs/proxies.
- Performance: Cache em camada de edge para consultas pesadas.
- Segurança: Dados sensíveis não ficam expostos na URL.
Com autores de Cloudflare e Akamai envolvidos, é provável que o suporte em infraestrutura chegue mais rápido do que o esperado.
Referência oficial: RFC 10008 — The HTTP QUERY Method