HTTP ને ૨૦ વર્ષમાં તેની પ્રથમ નવી પદ્ધતિ મળી છે
તમે કદાચ આ પહેલા પણ કર્યું હશે.
તમારે પ્રોડક્ટ્સ શોધવાની જરૂર છે. તમારા સર્ચ ફિલ્ટર્સ URL માટે ખૂબ મોટા છે. આને ઠીક કરવા માટે, તમે POST રિક્વેસ્ટનો ઉપયોગ કરો છો.
તે કામ કરે છે. પરંતુ તે એક જૂઠ છે. તમે HTTP ને કહો છો કે તમે ડેટા બદલી રહ્યા છો જ્યારે તમે ફક્ત તેને વાંચી રહ્યા હોવ છો.
જૂન ૨૦૨૬ માં, IETF એ RFC 10008 પ્રકાશિત કર્યું. તે QUERY નામની નવી HTTP પદ્ધતિ (method) વ્યાખ્યાયિત કરે છે. બે દાયકાથી વધુ સમયમાં આ પ્રથમ નવી પદ્ધતિ છે. તે ઉપર જણાવેલ સમસ્યાનું ચોક્કસ નિરાકરણ લાવે છે.
વર્તમાન સમસ્યા
ડેટા વાંચવા માટે GET ઉત્તમ છે. તે સુરક્ષિત અને કેશેબલ (cacheable) છે. પરંતુ તે રિક્વેસ્ટ બોડી (request body) લઈ શકતું નથી. URL માં અક્ષરોની મર્યાદા પણ હોય છે.
POST બોડી ધરાવે છે. પરંતુ HTTP માને છે કે POST સ્ટેટ (state) બદલે છે. આનો અર્થ એ છે કે તમે ઓટોમેટિક કેશિંગ અને સુરક્ષિત રીટ્રાય્સ (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 })
})
આગળ શું અપેક્ષા રાખવી
આ પરિવર્તન રાતોરાત નહીં થાય. અહીં રોડમેપ છે:
- ઈન્ફ્રાસ્ટ્રક્ચર: Nginx અને Apache આ રિક્વેસ્ટ્સ પસાર કરશે. QUERY પદ્ધતિને મંજૂરી આપવા માટે તમારે તમારા WAF અથવા સિક્યુરિટી રૂલ્સ અપડેટ કરવાની જરૂર પડી શકે છે.
- ફ્રેમવર્ક: 2026 અને 2027 દરમિયાન Spring, Rails, અને Express ને નેટિવ સપોર્ટ ઉમેરવાની અપેક્ષા રાખવી.
- CDNs: Cloudflare અને Akamai ના એન્જિનિયરોએ આ લખવામાં મદદ કરી હોવાથી, ઝડપી CDN સપોર્ટની અપેક્ષા રાખવી. આ કેશિંગને ઘણું સરળ બનાવે છે.
તમારા કોડ માટે આ શા માટે મહત્વનું છે
- ઓટોમેટિક રીટ્રાય્સ: QUERY આઈડેમપોટન્ટ હોવાથી, મોબાઈલ એપ્સ અને ક્લાયન્ટ્સ નિષ્ફળ ગયેલી રિક્વેસ્ટ્સને સુરક્ષિત રીતે ફરીથી પ્રયાસ કરી શકે છે.
- બહેતર કેશિંગ: CDNs બોડીના આધારે QUERY રિસ્પોન્સને કેશ કરી શકે છે. તમે તમારા મેન્યુઅલી બનાવેલા Redis કેશ લેયર્સને કાઢી શકો છો.
- ક્લીનર URLs: હવે તમારે URL ક્વેરી પેરામીટર્સમાં જટિલ JSON ભરવાની જરૂર નથી.
- સિમેન્ટિક APIs: તમારું API ડોક્યુમેન્ટેશન વધુ સ્પષ્ટ બનશે. ડેવલપર્સને ચોક્કસ ખબર હશે કે કયા એન્ડપોઈન્ટ્સ ડેટા વાંચે છે અને કયા ડેટા લખે છે.
તમારા વર્તમાન POST એન્ડપોઈન્ટ્સનું ઓડિટ કરીને તમારી ટીમને તૈયાર કરો. ઓળખો કે કયા એન્ડપોઈન્ટ્સ ફક્ત ડેટા વાંચે છે. તે તમારા ભવિષ્યના QUERY એન્ડપોઈન્ટ્સ હશે.
