Skip to main content

Command Palette

Search for a command to run...

Does Your Stack Support HTTP QUERY Yet? Check Before You Build.

A three-layer reality check before you adopt RFC 10008 in production

Updated
2 min readView as Markdown
Does Your Stack Support HTTP QUERY Yet? Check Before You Build.
D
devEncyclopedia is a developer resource for practical guides, interview prep, and IT tutorials covering Kubernetes, Next.js, NestJS, AWS, and more. Written by Zeeshan Tofiq, a full stack developer with 6+ years of production experience. devencyclopedia.com

HTTP QUERY, defined in RFC 10008, exists to fix a genuine gap: there's never been a clean, standard way to send a request body alongside "read" semantics. GET can't carry a body reliably. POST works but semantically implies a write. QUERY is meant to close that gap, and adoption is starting to pick up.

But here's the thing nobody mentions when they get excited about a new HTTP method: "does X support QUERY" is not one question, it's three.

**Layer 1: Your web framework**

Some frameworks like Hono already route arbitrary HTTP methods natively, no extra work needed. Others, Express included, have no first-class support yet. You're intercepting `req.method === 'QUERY'` in middleware and mapping it yourself. Rails' standard routing helpers don't recognize it as a verb out of the box either.

**Layer 2: Whatever sits in front of your API**

Cloudflare, nginx, an AWS ALB, these all sit between the client and your framework, and each one has its own (often undocumented) behavior around non-standard methods. A proxy can silently drop or reshape a QUERY request before it ever reaches your code, which makes debugging miserable if you haven't checked this layer separately.

**Layer 3: The client actually sending the request**

Browser `fetch()` support is inconsistent across engines. curl, Postman, Insomnia, and axios each have different levels of support too, which matters a lot if you're testing manually versus calling from a browser in production.

Skip any one of these three checks and you risk shipping a QUERY endpoint that works in your local curl test and breaks the moment it goes through your CDN, or works everywhere except one browser engine your users actually have.

There's a maintained, filterable compatibility matrix that tracks all three layers, frameworks, proxies/CDNs, and clients, in a single table. Every entry links back to its authoritative source, a GitHub issue, official docs, or a changelog, along with a last verified date, so you're not relying on a snapshot that's already stale.

Check your full stack here: https://devencyclopedia.com/tools/http-query-support-matrix