| Go (net/http) |
⚠️ Manual |
golang/go |
135,304 |
Issue #80058 — open · PR #80134 — open |
+2 issue (Jun 18) · PR +8 (Jun 24) |
Raw method strings work; MethodQuery proposal + PR not merged |
| Node.js (core) |
✅ Shipped |
nodejs/node |
118,327 |
v21.7.2 release (llhttp 9.2.0 bump, no single PR) |
−804 (Apr 3, 2024) |
Earliest shipper |
| Deno |
⚠️ Open |
denoland/deno |
107,760 |
Issue #36186 — open |
+34 (Jul 20) |
Feature request for full RFC 10008 support; fetch() may already accept method string |
| Bun |
⚠️ Open |
oven-sh/bun |
94,911 |
Issue #34839 — open |
+34 (Jul 20) |
Feature request for full RFC 10008 support; no native first-class support yet |
| Express |
✅ Works |
expressjs/express |
69,226 |
Issue #5615 — closed completed, no code PR |
−787 (Apr 20, 2024) |
Filed 17 days after Node shipped parsing |
| Spring |
❌ Not shipped |
spring-projects/spring-framework |
60,128 |
PR #34993 — open (fixes #32975); #36988 closed as duplicate |
−378 (Jun 3, 2025) · revived +15–17 |
Community-approved Jul 3; still open |
| Rails |
⚠️ PR open |
rails/rails |
58,634 |
PR #57973 — open (proposal thread) |
~+6 proposal → +17 PR (Jul 3) |
Rails core reviewed +30; active through +31 |
| curl |
✅ Generic |
curl/curl |
42,429 |
none needed |
n/a |
-X QUERY works today |
| ASP.NET Core |
⚠️ Preview |
dotnet/aspnetcore |
38,222 |
PR #65714 — shipped in 11 Preview 4 |
−35 (May 12, 2026) |
OpenAPI recognizes QUERY as operation type |
| Fastify |
✅ Shipped (main) |
fastify/fastify |
36,767 |
PR #6832 — merged · closes #6807 |
+5 issue (Jun 21) · merged +30 (Jul 16) |
First-class QUERY (not only addHttpMethod); release tag TBC |
| nginx |
⚠️ Open |
nginx/nginx |
31,171 |
PR #1488 — open · (#1511 closed, not merged) |
+6 (Jun 22) |
Recognition only; body cache key TBD |
| OpenAPI |
✅ Spec-level |
OAI/OpenAPI-Specification |
31,098 |
3.2.0 announcement |
−266 (Sep 23, 2025) |
— |
| WHATWG HTML |
⚠️ Open |
whatwg/html |
9,329 |
Issue #12594 — open (<form method="query">) |
+1 (Jun 17) |
Needs implementer interest; today falls back to GET |
| Cloudflare workerd |
⚠️ Open |
cloudflare/workerd |
8,411 |
Issue #6849 — open |
+14 (Jun 30) |
Body-keyed QUERY caching (RFC 10008 §2.7) via Cache API |
| Tomcat |
✅ Merged |
apache/tomcat |
8,211 |
PR #1026 — merged |
+15 (Jul 1) |
Release placement TBC |
| undici |
✅ Shipped |
nodejs/undici |
7,651 |
Issue #5454 — closed · PR #5459 — merged |
+11 issue (Jun 27) · PR +13 (Jun 29) · first npm 8.6.0 at +16 |
Still present in 8.8.0 (+34) |
| Jetty |
⚠️ Open |
jetty/jetty.project |
4,091 |
PR #15316 — open |
+5 (Jun 21) |
Retargeted to Jetty 13.0.x |
| Apache httpd |
❓ Nothing |
apache/httpd |
4,034 |
none found |
n/a |
Passthrough only |
| Browsers / fetch() |
✅ Works, unofficial |
whatwg/fetch |
2,243 |
Issue #1938 — open |
+14 (Jun 30) |
Plus Mozilla #1430 (open) · WebKit #692 (closed invalid) |
Rust http crate |
✅ Shipped |
hyperium/http |
1,362 |
PR #798 — merged · closes #743; #847 closed as duplicate |
0 (Jun 16) |
Method::QUERY constant; safe + idempotent |
| Jakarta Servlet |
✅ Completed |
jakartaee/servlet |
325 |
Issue #1068 — closed completed |
+9 (Jun 25) · closed ≤+34 |
Cites Tomcat PR |
| W3C LWS |
✅ Merged, contested |
w3c/lws-protocol |
26 |
PR #179 — merged |
+10 · merged ≈+34 |
Fallback debate = your thread |
| RFC 10008 |
✅ Published |
IETF HTTP WG |
— |
RFC 10008 (datatracker) |
0 (Jun 16, 2026) |
IESG approval Nov 20, 2025 = −208 |
#179 made QUERY primary for Search / Type Index. Review/call asked for GET/POST fallback where QUERY is not available (pchampin, TallTed, jeremycaine). Related: #184.
Ask: Keep QUERY primary; document GET (URI-sized queries) and/or POST (body) as fallback, plus how clients discover/choose the path. Resolve before CR.
Current data on software ecosystem:
MethodQueryproposal + PR not mergedfetch()may already accept method string-X QUERYworks todayaddHttpMethod); release tag TBC<form method="query">)httpcrateMethod::QUERYconstant; safe + idempotent