4

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étodoSafeIdempotentSuporta BodyCacheável
GETSimSimNão recomendadoSim
QUERYSimSimSimSim
POSTNãoNãoSimLimitado

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

Carregando publicação patrocinada...