O HTTP acaba de ganhar seu primeiro novo método em 20 anos
Você provavelmente já fez isso antes.
Você precisa pesquisar produtos. Seus filtros de pesquisa são grandes demais para uma URL. Para resolver isso, você usa uma requisição POST.
Funciona. Mas é uma mentira. Você diz ao HTTP que está alterando dados quando está apenas lendo-os.
Em junho de 2026, o IETF publicou a RFC 10008. Ela define um novo método HTTP chamado QUERY. Este é o primeiro novo método em mais de duas décadas. Ele resolve exatamente o problema mencionado acima.
O Problema Atual
O GET é ótimo para ler dados. Ele é seguro e permite cache. Mas ele não pode carregar um corpo de requisição (request body). As URLs também possuem limites de caracteres.
O POST carrega um corpo. Mas o HTTP assume que o POST altera o estado. Isso significa que você perde o cache automático e as tentativas de reenvio (retries) seguras. Se uma requisição POST sofrer timeout, você não pode simplesmente tentar novamente. Você não sabe se o servidor já alterou algo.
A Solução: QUERY
O QUERY é uma requisição GET com um corpo. Ele oferece duas garantias:
- Ele é seguro. Não modifica dados.
- Ele é idempotente. Enviá-lo duas vezes produz o mesmo resultado que enviá-lo uma vez.
Como usá-lo hoje
Você pode usar isso agora mesmo com Axios ou Fetch.
Exemplo com Axios:
axios.request({
method: 'QUERY',
url: '/api/products',
data: { category: 'shoes', maxPrice: 100 }
})
Exemplo com Fetch:
fetch('/api/products', {
method: 'QUERY',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ category: 'shoes', maxPrice: 100 })
})
O que esperar a seguir
A transição não acontecerá da noite para o dia. Aqui está o roteiro (roadmap):
- Infraestrutura: Nginx e Apache permitirão essas requisições. Você pode precisar atualizar seu WAF ou regras de segurança para permitir o método QUERY.
- Frameworks: Espere que Spring, Rails e Express adicionem suporte nativo ao longo de 2026 e 2027.
- CDNs: Como engenheiros da Cloudflare e Akamai ajudaram a escrever isso, espere um suporte rápido de CDNs. Isso torna o cache muito mais fácil.
Por que isso importa para o seu código
- Tentativas Automáticas (Retries): Como o QUERY é idempotente, aplicativos móveis e clientes podem tentar novamente requisições que falharam com segurança.
- Melhor Cache: As CDNs podem fazer o cache de respostas QUERY com base no corpo. Você pode excluir suas camadas de cache Redis feitas manualmente.
- URLs mais limpas: Você não precisa mais enfiar JSONs complexos em parâmetros de consulta (query parameters) da URL.
- APIs Semânticas: A documentação da sua API se torna mais clara. Os desenvolvedores saberão exatamente quais endpoints leem dados e quais escrevem dados.
Prepare sua equipe auditando seus endpoints POST atuais. Identifique quais deles apenas leem dados. Esses serão seus futuros endpoints QUERY.
