Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

HTTP QUERY (RFC 10008) — ecosystem adoption

Day 0 = RFC publication 2026-06-16. ★ Stars are approximate (fetched ~2026-07-20).

Tracking is split by role: servers (inbound), clients (outbound), edge (proxies/caches), and specs/docs. The same monorepo can appear in more than one table when server and client surfaces differ (e.g. Spring Framework). Stack names link to the project home when available.


Servers & frameworks (inbound)

Stacks that accept or route QUERY.

Stack Lang Status ★ Stars PR / issue Days after RFC Notes
Go (net/http) Go ⚠️ Manual 135,304 Issue #80058 — open · PR #80134 — open +2 issue · PR +8 Raw method strings work; MethodQuery not merged
Node.js (core) JS / C++ ✅ Shipped 118,327 v21.7.2 release (llhttp 9.2.0) −804 Earliest shipper (parse/route QUERY)
Deno Rust / TS ⚠️ Open 107,760 Issue #36186 — open +34 Feature request; Deno.serve may accept method string
FastAPI Python ❓ Nothing 100,699 none found n/a No dedicated RFC 10008 tracking found
Bun Zig / TS ✅ Works (generic) 94,911 Issue #34839 — closed +34 Bun.serve + body verified; not full RFC semantics
Django Python ❓ Nothing 88,188 none found n/a No dedicated RFC 10008 tracking found
CPython (http.server) Python / C ⚠️ Open 73,835 Issue #153309 — open · PR #153310 — open +22 Stdlib HTTP support / method constant (shared issue with client)
Express JavaScript ✅ Works 69,226 Issue #5615 — closed completed −787 Works on QUERY-capable Node
Spring MVC / WebFlux Java ❌ Not shipped 60,128 PR #34993 — open (fixes #32975); #36988 closed duplicate −378 · revived +15–17 RequestMethod / @RequestMapping QUERY; community-approved Jul 3
Rails Ruby ⚠️ PR open 58,634 PR #57973 — open (forum) ~+6 → PR +17 Core reviewed +30
PHP (CLI server) PHP / C ✅ Merged 40,245 PR #22615 — merged +20 · merged +22 Built-in dev server accepts QUERY (was 501)
ASP.NET Core C# ⚠️ Preview 38,222 PR #65714 — shipped in 11 Preview 4 −35 Server + OpenAPI operation type
Fastify JavaScript ✅ Shipped (main) 36,767 PR #6832 — merged · closes #6807 +5 · merged +30 First-class QUERY routing; release tag TBC
Laravel (routing) PHP ⚠️ Deferred 34,802 PR #60810 closed (L14); #60655 +30 Full route support aimed at Laravel 14
Axum Rust ⚠️ Open 26,571 Issue #3799 — open · PR #3801 — open 0 / +1 QUERY method routing
aiohttp (server) Python ✅ Merged 16,502 Issue #13160 — closed · PR #13174 — merged +30 · merged +34 C parser recognizes QUERY
Tomcat Java ✅ Merged 8,211 PR #1026 — merged +15 Release placement TBC
Jetty Java ⚠️ Open 4,091 PR #15316 — open +5 Targeted at Jetty 13.0.x (not 12.x)
Undertow Java ❓ Nothing 3,756 none found n/a Servlet container (Spring Boot option); no RFC tracking found
Jakarta Servlet Java (spec) ✅ Completed 325 Issue #1068 — closed completed +9 · closed ≤+34 Spec-level container contract; cites Tomcat PR
W3C LWS Spec ✅ Merged, contested 26 PR #179 — merged +10 · merged ≈+34 QUERY for Search / Type Index; GET/POST fallback debated

Clients (outbound)

Stacks that send QUERY.

Stack Lang Status ★ Stars PR / issue Days after RFC Notes
Go (net/http) Go ⚠️ Manual 135,304 Issue #80058 — open · PR #80134 — open +2 · +8 NewRequest("QUERY", …) works; constant pending
Deno (fetch) Rust / TS ⚠️ Open 107,760 Issue #36186 — open +34 Feature request; method string may already work
Bun (fetch / node:http) Zig / TS ✅ Works (generic) 94,911 Issue #34839 — closed +34 Client + body verified
CPython (http.client) Python / C ⚠️ Open 73,835 Issue #153309 — open · PR #153310 — open +22 Stdlib client / method constant
Spring RestClient / WebClient Java ❓ Via mapping PR 60,128 Same Framework track as server (#34993); no RestClient-specific issue found −378+ Fluent clients (spring-web); often on JDK HC / Apache HC5 / Netty
requests Python ❌ Declined 54,136 Issue #7558 — closed not planned · PR #7577 — closed unmerged +18 / +24 No first-class requests.query()
curl C ✅ Generic 42,429 none needed n/a -X QUERY works today
Laravel Http::query() PHP ✅ Merged 34,802 PR #60663 — merged +17 Client helper on 13.x (routing separate)
Guzzle PHP ✅ Works + redirects 23,452 Issue #3699 — closed · PR #3702 — merged +8 Method string + redirect middleware fixed for QUERY
JDK HttpClient (java.net.http) Java ✅ Generic 23,126 none found n/a Java 11+; HttpRequest.newBuilder().method("QUERY", body) — arbitrary methods with body
aiohttp (client) Python ✅ Merged 16,502 Issue #13160 · PR #13174 — merged +30 · +34 Shared parser fix benefits client + server
hyper Rust ✅ Via http 16,232 inherits hyperium/http#798 0 Low-level client/server; http::Method::QUERY
httpx Python ❓ Nothing 15,356 none found n/a Arbitrary methods usually work
reqwest Rust ❌ Declined 11,738 Issue #3056 — closed not planned 0 High-level async (on hyper); uses http crate methods
Node.js / undici JavaScript ✅ Shipped 7,651 Issue #5454 · PR #5459 — merged +11 / +13 · npm 8.6.0 at +16 Node’s fetch implementation; body-aware cache key work
urllib3 Python ❓ Nothing 4,041 none found n/a Underpins many Python clients
ureq Rust ⚠️ Open 2,158 Issue #1177 — open +6 (Jun 22) Blocking client; request for ureq::query / Agent::query
Apache HttpClient 5 Java ⚠️ Partial 1,533 PR #840 — merged · PR #852 — open (cache) +15 method · cache +30 Method/redirect support on master; body-keyed HTTP cache in review (not Commons HttpClient 3.x EOL)
Rust http crate Rust ✅ Shipped 1,362 PR #798 — merged · closes #743 0 Method::QUERY; safe + idempotent
isahc Rust ❓ Nothing 779 none found n/a libcurl-backed; custom methods typically work
attohttpc Rust ❓ Nothing 293 none found n/a Lightweight blocking; no RFC tracking found
Inrupt solid-client (JS) TypeScript ❓ Nothing 244 none found n/a Solid data client; needed once pods speak QUERY
Inrupt solid-client-authn (JS) TypeScript ❓ Nothing 77 none found n/a Authenticated fetch wrapper
Inrupt solid-client (Java) Java ❓ Nothing 16 none found n/a Java Solid client

Edge, proxies & caches

Infrastructure in front of apps. Body-aware caching and method allow-lists matter most (RFC 10008 §2.7).

Stack Lang Status ★ Stars PR / issue Days after RFC Notes
Traefik Go ⚠️ Open 64,053 Issue #13544 — open +34 (Jul 20) End-to-end QUERY: forward, middlewares, body-keyed cache
Kong Lua / Nginx ⚠️ Open 43,822 Discussion #14944 — open +34 (Jul 20) Proxy, plugins, body-keyed Proxy Cache; retries list missing QUERY
nginx C ⚠️ Open 31,171 PR #1488 — open · (#1511 closed) +6 Recognition only; body cache key TBD
Envoy C++ ❓ Nothing 28,606 none found n/a No public RFC 10008 tracking found
Cloudflare workerd C++ ⚠️ Open 8,411 Issue #6849 — open +14 Body-keyed QUERY caching (Cache API)
HAProxy C ❓ Nothing 6,713 none found n/a No public RFC 10008 tracking found
Varnish C ❓ Nothing 4,049 none found n/a Cache key for QUERY body untracked
Apache httpd C ❓ Nothing 4,034 none found n/a Passthrough / proxy path; discuss on dev@httpd
Squid C++ ❓ Nothing 3,027 none found n/a No public RFC 10008 tracking found
Managed CDNs (CloudFront, Fastly, Akamai, ALB, …) ❓ Opaque vendor docs / changelogs n/a Hard to track via GitHub; verify per product

Specs & documentation

Stack Lang Status ★ Stars PR / issue Days after RFC Notes
OpenAPI Spec ✅ Spec-level 31,098 3.2.0 announcement −266 Documents QUERY operations (client + server codegen)
MDN Docs ⚠️ Open 10,886 PR #44568 — open · Issue #44665 — open +8 / +22 QUERY method + Accept-Query docs
WHATWG HTML Spec ⚠️ Open 9,329 Issue #12594 — open +1 <form method="query">
Browsers / fetch() Spec ✅ Works, unofficial 2,243 Issue #1938 — open +14 Client surface in browsers; Mozilla #1430 open · WebKit #692 closed invalid
RFC 10008 Spec ✅ Published datatracker · HTTP WG 0 IESG approval Nov 20, 2025 = −208; query-method

Related trackers

About

HTTP QUERY (RFC 10008) — ecosystem adoption

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors