Bifalgorithm post
HTTP is getting a new method, and that doesn't happen very often. For basically our entire careers, the HTTP spec has shipped with the same handful of verbs we all know. Get to fetch data, post to create or send data to the server, put to replace or update a resource, and delete to remove one. But there has always been this awkward gap. What happens when we want to search? We want to ask the server for data based on a set of conditions and filters involving sorting, pagination, nested conditions, date ranges, and arrays. Now, the default method for this should be get, because you are reading and not changing anything. It works for simple cases, but the problem is get puts everything in the URL using query parameters, and URLs have length limits. If they get too long, the server will throw a 414 error code. So, the next logical thing is just to put the query parameters in the request body on the get method call. Technically, that sounds reasonable, but in practice, get requests with bodies are not handled consistently across clients, proxies, servers, and firewalls. Some tools reject them, some ignore the body, and some behave differently depending on the environment. So, the most common workaround became using post for searches and complex queries. But post has a different meaning and it lies about intent. Post is meant to change the state on the server, so it's neither safe nor idempotent. Caches and CDNs will not cache a post response because they have to assume it mutated something. This is the gap and it's exactly what the new method is here to close. The new verb is query and it was published as RFC 1008 on June 15th, 2026. Query combines parts of get and post to get the job done. See what I did there? Like get, query is safe and idempotent. You are telling the server and every proxy in between that you are only reading and the request can be repeated and retried without any side effects. And like post, queries carry a request body so your filters can live in the payload instead of being crammed into the URL. Query is also safe, meaning responses can be cached and the cache key is built from both the request body and its metadata, not just the URL. Query is official. It reached proposed standard, which is the stage where implementations have started. Frameworks and runtimes are already adding support. ASP.NET Core has an open proposal for it and languages like Go and Rust are already adding custom method strings today so you can experiment with it. Now, adoption across browsers, servers and proxies will roll out gradually the way these things always do, so don't expect it to be everywhere overnight. It's not always we get a new HTTP method and it's honestly the last thing I was expecting this year, but hey, it's 2026, anything can happen. As always, follow Umacodes for more programming videos like this and check out umacodes.com for more.
HTTP is getting a new method, and that doesn't happen very often. For basically our entire careers, the HTTP spec has shipped with the same handful of verbs we…
Ideas in this flowchart
- HTTP New Method Introduction
- Existing HTTP Methods
- Get
- Post
- Put
- Delete
- Limitations of Existing Methods
- Searching Data Challenges
- GET Method Limitations
- URL Length Limits
- Inconsistent Handling of GET with Body
- POST Method Workaround
- POST Misuse for Searches
- Introduction of QUERY Method
- QUERY Method Features
- Combines GET and POST
- Safe and Idempotent
- Carries Request Body
- Caching Capability
- Adoption and Implementation
- Proposed Standard Status
- Support in Frameworks and Runtimes
- Gradual Adoption
- Conclusion