DEV Community

IamThiagoIT
IamThiagoIT

Posted on

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"]
}
Enter fullscreen mode Exit fullscreen mode

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

Top comments (0)