We’ve all been there. You have a complex search filter or a massive GraphQL query that’s far too big for a URL. You can’t use a standard GET request because of character limits, so you begrudgingly reach for POST. It feels wrong because POST is meant for creating or updating data, not just asking for it. Well, thanks to the newly finalized RFC 10008, those architectural "hacks" are officially on their way out.
The End of the 'POST-for-GET' Era
For decades, developers have been caught between a rock and a hard place. HTTP GET is "safe" and idempotent, but it doesn't support a request body. If your query parameters are too long, browsers or proxies might truncate them. To get around this, we started using POST for complex data retrieval.
The problem? POST is inherently "unsafe" according to HTTP semantics. It tells the network that something is changing on the server, which complicates caching, automatic retries, and general architectural clarity. We were using a hammer to turn a screw because we simply didn't have a screwdriver.

Why QUERY is a Game Changer
RFC 10008 introduces the QUERY method to bridge this gap. Think of it as GET’s more capable sibling. Like GET, it is defined as safe and idempotent—meaning it shouldn't change the state of the server, and making the same request twice should yield the same result.
However, unlike GET, QUERY allows for a request body. This makes it the perfect home for JSON-based search filters, SQL-like parameters, or even GraphQL queries. By using QUERY, developers can send complex instructions to the server without worrying about URL length limits, all while maintaining the semantic integrity of a "read-only" operation.
What Happens Next?
While the standard is now officially published, the real work begins with ecosystem implementation. We need to see support roll out across web browsers, CDNs, and popular server frameworks like Express, Go, and FastAPI. Caching remains a big topic; because QUERY is safe and idempotent, it opens the door for middle-boxes and browsers to cache complex requests in ways that were previously impossible with POST.
The arrival of RFC 10008 is a rare moment where the web’s core plumbing gets a meaningful upgrade. It might take some time for every tool in your stack to recognize the new verb, but the QUERY method is the missing piece of the HTTP puzzle we’ve been waiting for.
Sources
Media



