Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Sichere ProgrammierungI audited my own ML linter and had to withdraw its best evidence(21.09.2026 um 22:54 Uhr)
Sichere ProgrammierungQuantum Result Validation for Distributed Computing Systems(21.09.2026 um 22:54 Uhr)
Sichere ProgrammierungJWT Authentication and Role-Based Access Control in LocalHands(21.09.2026 um 22:56 Uhr)
Sichere ProgrammierungStochastic Parrot or Alien Mind?(21.09.2026 um 22:56 Uhr)
Sichere ProgrammierungBuilding AI for the Physical World Is a Different Engineering Problem(21.09.2026 um 22:58 Uhr)
Sichere ProgrammierungI audited my own ML linter and had to withdraw its best evidence(21.09.2026 um 22:54 Uhr)
Sichere ProgrammierungQuantum Result Validation for Distributed Computing Systems(21.09.2026 um 22:54 Uhr)
Sichere ProgrammierungJWT Authentication and Role-Based Access Control in LocalHands(21.09.2026 um 22:56 Uhr)
Sichere ProgrammierungStochastic Parrot or Alien Mind?(21.09.2026 um 22:56 Uhr)
Sichere ProgrammierungBuilding AI for the Physical World Is a Different Engineering Problem(21.09.2026 um 22:58 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

🧩 How to Pass a Request Body in a GET Request? Meet the New HTTP QUERY Method (RFC 10008)

⚡ A New HTTP Verb for Developers The QUERY method (RFC 10008, June 2026) finally solves a long-standing pain point: sending complex request bodies safely and cacheably without abusing GET or POST. Because QUERY is safe and idempotent, …

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




⚡ A New HTTP Verb for Developers



The QUERY method (RFC 10008, June 2026) finally solves a long-standing pain point: sending complex request bodies safely and cacheably without abusing GET or POST.



Because QUERY is safe and idempotent, if a network drop happens, the client can automatically retry the request without risk of duplicating side effects—adding great architectural value.









The Problem with GET and POST






GET Example (Fails with Complex Filters)






GET /api/products?category=electronics&tags=wireless,sale,new-arrival&price_min=100&price_max=1000&sort=rating_desc&page=2&limit=20&brand=Sony|Samsung&in_stock=true&discount_gte=10 HTTP/1.1
Host: shop.com








  • Too long → URLs hit browser/server length limits.


  • Leaky → Query strings show up in logs, browser history, and monitoring tools.


  • Awkward encoding → Nested conditions (AND/OR) are hard to represent.









POST Example (Breaks Caching)






POST /api/products/search HTTP/1.1
Host: shop.com
Content-Type: application/json

{
"category": "electronics",
"tags": ["wireless", "sale", "new-arrival"],
"price_range": { "min": 100, "max": 1000 }
}








  • Not cacheable → POST responses aren’t cached by browsers or CDNs.


  • Wrong semantics → POST is meant for creating resources, not fetching.









🚀 The Solution: QUERY



QUERY combines the best of both worlds: request body support like POST, but safe and cacheable like GET.









📦 Example: Advanced Product Search






{
"category": "electronics",
"tags": ["wireless", "sale", "new-arrival"],
"price_range": { "min": 100, "max": 1000 },
"sort": { "field": "rating", "order": "desc" },
"pagination": { "page": 2, "limit": 20 },
"conditions": {
"or": [
{ "brand": "Sony" },
{ "brand": "Samsung" }
],
"and": [
{ "in_stock": true },
{ "discount": { "gte": 10 } }
]
}
}









QUERY Request






QUERY /api/products HTTP/1.1
Host: shop.com
Content-Type: application/json
Accept: application/json

{ ...payload above... }












📊 Core Comparison Matrix
























































Metric GET POST QUERY
Intended Use Simple fetch Create data Complex fetch
Request Body ❌ No ✅ Yes ✅ Yes
Safe & Idempotent ✅ Yes ❌ No ✅ Yes
Cacheable ✅ Yes ❌ No ✅ Yes
Retry on Drop ❌ Risky ❌ Risky ✅ Safe
URI for Query ✅ Always ❌ No ⚠️ Optional via Location
URI for Result ⚠️ Optional ⚠️ Optional ⚠️ Optional via Content-Location








🔧 Real-World Code Examples



Frontend (QUERY with fetch):




async function searchProducts(filters) {
const response = await fetch('https://shop.com/api/products', {
method: 'QUERY',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(filters)
});
return response.json();
}






Backend (Express.js):




const express = require('express');
const app = express();
app.use(express.json());

app.all('/api/products', (req, res, next) => {
if (req.method !== 'QUERY') return next();
const filters = req.body;
const products = db.findProducts(filters);
res.setHeader('Cache-Control', 'public, max-age=3600');
res.json(products);
});












🌐 CDN Support for QUERY with Body



RFC 10008 requires caches to incorporate both the request target and the body into cache keys:




Cache Key = Path + Body Hash

Path: /api/products
Body: {"category":"electronics","tags":["sale"]}
Body Hash: abcd1234

Final Key: /api/products:abcd1234








  • Cloudflare → Cache rules + body hash.


  • Akamai → EdgeWorkers extend cache keys.


  • Fastly → VCL: set req.hash += req.body;.


  • AWS CloudFront → Lambda@Edge workaround (rewrite QUERY → GET + body hash).


  • Google Cloud CDN → Proxy QUERY through Cloud Functions until native support arrives.









❓ FAQ Highlights





  • Frameworks → Express, Django, Spring, and FastAPI don’t yet have app.query(), but you can intercept QUERY as a raw method string.


  • Browsers → All major browsers allow sending QUERY via fetch; tooling may still show it as a custom verb.


  • Monitoring → Grafana/Prometheus don’t yet classify QUERY; treat it as a custom verb in logs until native support arrives.









✨ Closing Thoughts



The QUERY method (RFC 10008) is a true architectural upgrade:




  • Safe, idempotent, cacheable.

  • Supports complex request bodies with arrays, sorting, pagination, and nested conditions.

  • Enables automatic retries after network drops.

  • Works with CDNs when cache keys include body hashes.



👉 For full details, see the official spec: RFC 10008 – The HTTP QUERY Method.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten 🧩 How to Pass a Request Body in a GET Request? Meet the New HTTP QUERY Method (RFC 10008)

Thematisch verwandte Begriffe: Pass, Request, Body, Meet · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-79918 | MaxKB is an open-source AI assistant for enterprise. Prior to version 2.…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick