वह HTTP मेथड जिसे हम 16 वर्षों से नकली तरीके से इस्तेमाल कर रहे हैं

बैकएंड डेवलपर्स को सर्च एंडपॉइंट्स (search endpoints) के साथ लगातार एक समस्या का सामना करना पड़ता है।

आप GET का उपयोग करना चाहते हैं क्योंकि सर्च करना एक read operation है। लेकिन आपके सर्च फिल्टर्स बहुत बड़े होते जाते हैं। आपका URL दो हज़ार कैरेक्टर्स तक पहुँच जाता है। प्रॉक्सी (Proxies) आपकी रिक्वेस्ट को काट (truncate) देते हैं। आपकी सर्च काम करना बंद कर देती है।

लिमिट को ठीक करने के लिए आप POST पर स्विच कर जाते हैं। यह काम तो करता है, लेकिन यह एक झूठ है। POST हर प्रॉक्सी और कैश (cache) को बताता है कि आप डेटा बदल रहे हैं। इससे सारी कैशिंग रुक जाती है। आप GET की स्पीड खो देते हैं।

सोलह वर्षों तक, हमारे पास कोई बीच का रास्ता नहीं था।

जून 2026 में, IETF ने RFC 10008 प्रकाशित किया। यह QUERY मेथड की शुरुआत करता है। यह 2010 के बाद से पहला नया HTTP मेथड है।

QUERY, GET और POST के बेहतरीन गुणों को जोड़ता है:

• यह जटिल फिल्टर्स के लिए एक request body ले जाता है। • यह safe है, जिसका अर्थ है कि सर्वर state नहीं बदलता है। • यह idempotent है, जिसका अर्थ है कि आप इसे समान परिणाम के साथ दो बार चला सकते हैं। • यह cacheable है, जिससे CDNs रिस्पॉन्स स्टोर कर सकते हैं।

एक QUERY रिक्वेस्ट इस तरह दिखती है:

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

{
  "filter": { "category": "boots", "inStock": true },
  "sort": "-price",
  "limit": 20
}

नया RFC 'Accept-Query' हेडर भी जोड़ता है। यह एक API को आपको यह बताने की अनुमति देता है कि वह किन क्वेरी फॉर्मेट्स को सपोर्ट करता है।

डेवलपर्स के लिए एक चेतावनी:

QUERY रिक्वेस्ट को कैश करना GET रिक्वेस्ट से अलग है। GET कैश URL को key के रूप में उपयोग करता है। QUERY कैश को request body को key के हिस्से के रूप में उपयोग करना चाहिए। यदि आपका इंफ्रास्ट्रक्चर इसे नहीं समझता है, तो एक यूजर दूसरे यूजर के प्राइवेट सर्च रिजल्ट्स देख सकता है।

अभी इसे प्रोडक्शन में इस्तेमाल करने की जल्दबाजी न करें। इकोसिस्टम को इसके साथ तालमेल बिठाने के लिए समय चाहिए।

• ब्राउज़र्स अभी fetch() में QUERY को सपोर्ट नहीं करते हैं। • HTML फॉर्म्स केवल GET और POST को सपोर्ट करते हैं। • कई API गेटवे और WAFs अज्ञात मेथड्स को रिजेक्ट कर देंगे।

अपने API को QUERY को ध्यान में रखकर डिज़ाइन करें, लेकिन फिलहाल अपने POST एंडपॉइंट्स को ही बनाए रखें।

QUERY एक लंबे समझौते का अंत करता है। यह आपको नेटवर्क से झूठ बोले बिना जटिल सवाल पूछने की अनुमति देता है।

क्या आप इकोसिस्टम के तालमेल बिठाने का इंतज़ार कर रहे हैं, या आप अभी QUERY का परीक्षण कर रहे हैं?

Source: https://dev.to/arya_koste_5845807df94776/query-the-http-method-weve-been-faking-for-16-years-f9i