20 ஆண்டுகளில் HTTP தனது முதல் புதிய முறையைப் பெற்றுள்ளது
நீங்கள் இதை முன்பே செய்திருக்கலாம்.
நீங்கள் தயாரிப்புகளைத் தேட வேண்டும். உங்கள் தேடல் வடிகட்டிகள் (filters) ஒரு URL-க்கு மிகவும் பெரியதாக உள்ளன. இதைச் சரிசெய்ய, நீங்கள் ஒரு POST கோரிக்கையைப் (request) பயன்படுத்துகிறீர்கள்.
இது வேலை செய்கிறது. ஆனால் இது ஒரு பொய். நீங்கள் தரவை வாசிக்க மட்டுமே செய்கிறீர்கள், ஆனால் தரவை மாற்றுகிறீர்கள் என்று HTTP-யிடம் கூறுகிறீர்கள்.
ஜூன் 2026 இல், IETF RFC 10008 ஐ வெளியிட்டது. இது QUERY எனப்படும் புதிய HTTP முறையை வரையறுக்கிறது. இரண்டு தசாப்தங்களுக்கு மேலாக இதுதான் முதல் புதிய முறையாகும். மேலே குறிப்பிடப்பட்ட அதே சிக்கலை இது தீர்க்கிறது.
தற்போதைய சிக்கல்
தரவை வாசிப்பதற்கு GET சிறந்தது. இது பாதுகாப்பானது மற்றும் cache செய்யக்கூடியது. ஆனால் இது ஒரு request body-யைக் கொண்டு செல்ல முடியாது. URL-களுக்கும் எழுத்து வரம்புகள் (character limits) உள்ளன.
POST ஒரு body-யைக் கொண்டுள்ளது. ஆனால் POST நிலையை (state) மாற்றுகிறது என்று HTTP கருதுகிறது. இதன் பொருள் நீங்கள் தானியங்கி caching மற்றும் பாதுகாப்பான மறுமுயற்சிகளை (retries) இழக்கிறீர்கள் என்பதாகும். ஒரு POST கோரிக்கை காலாவதியானால் (timeout), நீங்கள் அதை எளிதாக மீண்டும் முயற்சி செய்ய முடியாது. சர்வர் ஏற்கனவே ஏதேனும் மாற்றியிருக்கிறதா என்று உங்களுக்குத் தெரியாது.
தீர்வு: QUERY
QUERY என்பது ஒரு body கொண்ட 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 })
})
அடுத்து என்ன எதிர்பார்க்கலாம்
இந்த மாற்றம் ஒரே இரவில் நடந்துவிடாது. இதோ அதன் வழிமுறை (roadmap):
- உள்கட்டமைப்பு (Infrastructure): Nginx மற்றும் Apache இந்த கோரிக்கைகளை அனுமதிக்கும். QUERY முறையை அனுமதிக்க உங்கள் WAF அல்லது பாதுகாப்பு விதிகளை (security rules) நீங்கள் புதுப்பிக்க வேண்டியிருக்கலாம்.
- Frameworks: 2026 மற்றும் 2027 முழுவதும் Spring, Rails மற்றும் Express ஆகியவை இதற்கான நேரடி ஆதரவை (native support) வழங்கும் என்று எதிர்பார்க்கலாம்.
- CDNs: Cloudflare மற்றும் Akamai இன் பொறியாளர்கள் இதை எழுத உதவியதால், வேகமான CDN ஆதரவை எதிர்பார்க்கலாம். இது caching செய்வதை மிகவும் எளிதாக்குகிறது.
இது உங்கள் குறியீட்டிற்கு (code) ஏன் முக்கியமானது
- தானியங்கி மறுமுயற்சிகள் (Automatic Retries): QUERY என்பது idempotent என்பதால், மொபைல் செயலிகள் மற்றும் கிளையன்ட்கள் தோல்வியடைந்த கோரிக்கைகளை பாதுகாப்பாக மீண்டும் முயற்சி செய்யலாம்.
- சிறந்த Caching: CDNs, body-யை அடிப்படையாகக் கொண்டு QUERY பதில்களை cache செய்ய முடியும். நீங்கள் நீங்களாகவே உருவாக்கிய (hand-rolled) Redis cache அடுக்குகளை நீக்கிவிடலாம்.
- சுத்தமான URLs: சிக்கலான JSON தரவை URL query parameters-க்குள் திணிக்க வேண்டிய அவசியம் இனி இல்லை.
- Semantic APIs: உங்கள் API ஆவணங்கள் (documentation) தெளிவானதாக மாறும். எந்தெந்த endpoints தரவை வாசிக்கின்றன மற்றும் எவை தரவை எழுதுகின்றன என்பதை டெவலப்பர்கள் துல்லியமாக அறிந்து கொள்வார்கள்.
உங்கள் தற்போதைய POST endpoints-களை ஆய்வு செய்வதன் மூலம் உங்கள் குழுவை தயார்படுத்துங்கள். எவை தரவை வாசிக்க மட்டுமே செய்கின்றன என்பதைக் கண்டறியுங்கள். அவைதான் உங்கள் எதிர்கால QUERY endpoints ஆகும்.
