HTTP ला २० वर्षांनंतर पहिली नवीन पद्धत (Method) मिळाली आहे

तुम्ही हे कदाचित यापूर्वी केले असेल.

तुम्हाला उत्पादने शोधायची आहेत. तुमचे सर्च फिल्टर्स (search filters) URL साठी खूप मोठे आहेत. हे सोडवण्यासाठी, तुम्ही POST रिक्वेस्ट वापरता.

ते काम करते. पण ते एक खोटं आहे. तुम्ही फक्त डेटा वाचत असता, तरीही तुम्ही HTTP ला सांगता की तुम्ही डेटा बदलत आहात.

जून २०२६ मध्ये, IETF ने RFC 10008 प्रकाशित केले. यामध्ये QUERY नावाच्या नवीन HTTP मेथडची व्याख्या केली आहे. दोन दशकांनंतर ही पहिली नवीन मेथड आहे. हे वरील नेमकी समस्या सोडवते.

सध्याची समस्या

डेटा वाचण्यासाठी GET उत्तम आहे. ते सुरक्षित (safe) आणि कॅशे करण्यायोग्य (cacheable) आहे. परंतु ते रिक्वेस्ट बॉडी (request body) वाहून नेऊ शकत नाही. URL ला देखील कॅरेक्टर मर्यादा (character limits) असतात.

POST मध्ये बॉडी असते. परंतु HTTP असे गृहीत धरते की POST मुळे स्टेट (state) बदलतो. याचा अर्थ तुम्ही ऑटोमॅटिक कॅशिंग आणि सुरक्षित रिट्रायज (safe retries) गमावता. जर POST रिक्वेस्ट टाइम आउट झाली, तर तुम्ही ती सहजपणे पुन्हा करू शकत नाही. सर्व्हरने आधीच काही बदलले आहे का, हे तुम्हाला माहित नसते.

उपाय: QUERY

QUERY ही बॉडीसह असलेली GET रिक्वेस्ट आहे. ती दोन गोष्टींची खात्री देते:

  • ती सुरक्षित आहे. ती डेटा बदलत नाही.
  • ती आयडेम्पोटेंट (idempotent) आहे. ती दोनदा पाठवल्यास एकदा पाठवल्यासारखाच निकाल मिळतो.

आज याचा वापर कसा करावा

तुम्ही हे आताच Axios किंवा Fetch सोबत वापरू शकता.

Axios उदाहरण:

axios.request({
  method: 'QUERY',
  url: '/api/products',
  data: { category: 'shoes', maxPrice: 100 }
})

Fetch उदाहरण:

fetch('/api/products', {
  method: 'QUERY',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ category: 'shoes', maxPrice: 100 })
})

पुढे काय अपेक्षित आहे

हा बदल एका रात्रीत होणार नाही. याचा रोडमॅप खालीलप्रमाणे आहे:

  • इन्फ्रास्ट्रक्चर (Infrastructure): Nginx आणि Apache या रिक्वेस्ट्स पास करतील. QUERY मेथडला परवानगी देण्यासाठी तुम्हाला तुमचे WAF किंवा सुरक्षा नियम (security rules) अपडेट करावे लागू शकतात.
  • फ्रेमवर्क्स (Frameworks): 2026 आणि 2027 दरम्यान Spring, Rails आणि Express मध्ये नेटिव्ह सपोर्ट येण्याची अपेक्षा आहे.
  • CDNs: Cloudflare आणि Akamai मधील इंजिनिअर्सनी हे लिहिण्यास मदत केल्यामुळे, जलद CDN सपोर्टची अपेक्षा ठेवा. यामुळे कॅशिंग अधिक सोपे होते.

तुमच्या कोडसाठी हे का महत्त्वाचे आहे

  1. ऑटोमॅटिक रिट्रायज (Automatic Retries): QUERY आयडेम्पोटेंट असल्यामुळे, मोबाईल ॲप्स आणि क्लायंट्स अयशस्वी रिक्वेस्ट सुरक्षितपणे पुन्हा करू शकतात.
  2. उत्तम कॅशिंग (Better Caching): CDNs बॉडीच्या आधारावर QUERY रिस्पॉन्स कॅश करू शकतात. तुम्ही तुमचे स्वतःचे तयार केलेले (hand-rolled) Redis कॅश लेयर्स काढून टाकू शकता.
  3. स्वच्छ URLs: तुम्हाला आता URL क्वेरी पॅरामीटर्समध्ये क्लिष्ट JSON कोंबण्याची गरज नाही.
  4. सिमेंटिक APIs (Semantic APIs): तुमचे API डॉक्युमेंटेशन अधिक स्पष्ट होईल. डेव्हलपर्सना नेमके कोणते एंडपॉइंट्स डेटा वाचतात आणि कोणते डेटा लिहितात, हे समजेल.

तुमच्या सध्याच्या POST एंडपॉइंट्सचे ऑडिट करून तुमच्या टीमला तयार करा. कोणते एंडपॉइंट्स फक्त डेटा वाचतात ते ओळखा. ते तुमचे भविष्यातील QUERY एंडपॉइंट्स असतील.

स्रोत: https://dev.to/andresclua/http-just-got-its-first-new-method-in-20-years-heres-why-you-should-care-2h5p