
TL;DR
The IETF published RFC 10008 defining a new HTTP QUERY method - GET with a request body. It is safe, idempotent, cacheable, and solves the longstanding problem of complex queries hitting URL length limits.
The IETF published RFC 10008 this month, formally standardizing a new HTTP method called QUERY. Think of it as GET with a request body - safe, idempotent, and cacheable, but without the URL length constraints.
Last updated: June 17, 2026
QUERY is a new HTTP method that allows clients to send query data in the request body instead of the URL. Like GET, it is defined as safe (no side effects) and idempotent (can be retried without issues). Unlike POST, it explicitly signals that the operation will not modify server state.
The RFC was authored by Julian Reschke (greenbytes GmbH), James M. Snell (Cloudflare), and Mike Bishop (Akamai), and was published as a Proposed Standard by the HTTP Working Group.
Here is the core comparison:
| Property | GET | QUERY | POST |
|---|---|---|---|
| Safe | Yes | Yes | No |
| Idempotent | Yes | Yes | No |
| Request body | No defined semantics | Expected | Expected |
| Cacheable | Yes | Yes | Limited |
GET requests encode query parameters in the URL. URLs have practical length limits - around 2,000 characters is generally safe, though implementations vary. This works fine for simple queries but breaks down when you need to pass complex filter structures, large JSON payloads, or anything that does not fit in a reasonable URL.
The workaround has been using POST. But POST does not communicate that the operation is safe. Browsers show "are you sure you want to resubmit?" warnings. Caches cannot safely store responses. Automatic retry logic hesitates because POST might create duplicate resources.
GraphQL is a prominent example. GraphQL queries can be substantial - deep nested selections, multiple fragments, complex variables. Sending them as URL parameters hits limits quickly. So GraphQL uses POST, even though queries (as opposed to mutations) are inherently safe and idempotent.
QUERY solves this by providing a method that:
The thread generated 105 comments with a mix of enthusiasm and pragmatic skepticism.
GraphQL came up immediately. Multiple commenters noted that QUERY is a natural fit for GraphQL queries. One wrote: "Using QUERY for GraphQL queries (not mutations) would be a good match. These only read data, but are sometimes bigger than the url length limit."
The name confused some people. The term "query" already appears in HTTP URLs (the query string portion). One commenter wrote: "Use the QUERY method in your http query to query search results. Do not add query parameters. I think the name is confusing."
Proxy and CDN support is the real question. A historically-informed commenter pointed out that WebDAV's SEARCH method had similar goals two decades ago and never gained traction because intermediaries stripped bodies from unfamiliar methods. "Until gateway and CDN support is real rather than just on paper, POST with a header marking the body as part of the cache key stays the pragmatic choice."
Some developers have been doing this anyway. One commenter admitted: "I've been sending request body along GET method for years now." The replies quickly noted why this is fragile - fetch() in browsers does not allow it, load balancers may strip the body, and caching behavior becomes unpredictable.
HTML forms sparked interest. Commenters discussed whether browsers would add <form method="query"> support. This would eliminate the "resubmit form?" warnings when refreshing search results. A WHATWG proposal for expanding form methods exists at github.com/whatwg/html/pull/11347.
The spec itself was praised. One commenter noted: "I don't think it's easy to write a spec that is complete and approachable like this. Really appreciate that."
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools - delivered free every week.
From the archive
Jun 17, 2026 • 11 min read
Jun 17, 2026 • 9 min read
Jun 15, 2026 • 9 min read
Jun 15, 2026 • 8 min read
The RFC specifies several practical requirements:
Content-Type is mandatory. Servers must reject QUERY requests without consistent media type information, returning 400 (Bad Request) or 415 (Unsupported Media Type).
Caching uses the request body. Response caching incorporates both the request content and metadata. Caches may normalize insignificant differences to improve hit rates.
Multiple response patterns:
Security consideration: Moving query parameters from URLs to request bodies mitigates privacy risks from URL logging. However, servers should avoid putting sensitive query data into temporary URIs used in Location or Content-Location headers.
Good fit:
Probably not:
The RFC is now published as a Proposed Standard, but adoption depends on implementation across the stack:
The WebDAV SEARCH method comparison from the HN thread is worth considering. Good ideas in HTTP specs sometimes take years to achieve widespread support, and sometimes never do.
For server-side applications where you control the full stack, you can start using QUERY today. For public APIs, the pragmatic move is probably waiting until major clients and intermediaries catch up.
RFC 10008 is an IETF specification published in June 2026 that defines a new HTTP method called QUERY. It enables sending query data in the request body while maintaining safe and idempotent semantics like GET.
GET encodes parameters in the URL; QUERY accepts them in the request body. Both are safe and idempotent. QUERY avoids URL length limits and keeps potentially sensitive query data out of logs.
POST is neither safe nor idempotent - it may create resources or cause side effects. QUERY explicitly signals that the operation will not modify server state, enabling caching and automatic retries.
Browser support will need to be added. As of June 2026, mainstream browsers are evaluating implementation. Check your target browsers before depending on it for web applications.
Yes, QUERY is well-suited for GraphQL queries (as opposed to mutations). GraphQL queries are safe and idempotent but often exceed URL length limits when sent as GET parameters.
RFC 10008 was just published. Browser implementation timelines vary. There is an active WHATWG proposal for HTML form method="query" support at github.com/whatwg/html/issues/12594.
Read next
Epic Games open-sourced Lore, a centralized version control system designed for binary-heavy game projects. It uses Merkle trees, on-demand file hydration, and native chunked storage to handle terabyte-scale repos that Git struggles with.
7 min readOpen Design is trending because it turns Claude Code, Codex, Cursor, Gemini, and other CLIs into a design engine. The useful lesson is not design automation. It is artifact-first agent wrappers.
8 min readFlue is trending because it names the part of agent infrastructure that is becoming product-critical: the programmable harness around the model.
8 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Open-source terminal agent runtime with approval modes, rollback snapshots, MCP servers, LSP diagnostics, and a headless...
View ToolBridge that exposes stdio MCP servers over HTTP/SSE, or vice versa. Run a local server remotely, or connect to a remote...
View Tool
Epic Games open-sourced Lore, a centralized version control system designed for binary-heavy game projects. It uses Merk...

Flue is trending because it names the part of agent infrastructure that is becoming product-critical: the programmable h...

Open Design is trending because it turns Claude Code, Codex, Cursor, Gemini, and other CLIs into a design engine. The us...

Cursor Automations lets AI agents run in the background based on triggers, not prompts. Here is how to set them up, conf...

OpenRouter Fusion turns multi-model panels into an API feature. The useful lesson is not to run every prompt through mor...

GitHub's latest agent workspace trend points at a boring but important primitive: agents need explicit filesystem contra...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.