20 ఏళ్లలో HTTP తన మొదటి కొత్త మెథడ్ను పొందింది
మీరు బహుశా ఇది ఇంతకుముముందు చేసి ఉండవచ్చు.
మీరు ఉత్పత్తుల కోసం వెతకాలి అనుకుంటున్నారు. మీ సెర్చ్ ఫిల్టర్లు URLకి సరిపోనంత పెద్దవిగా ఉన్నాయి. దీనిని పరిష్కరించడానికి, మీరు POST రిక్వెస్ట్ను ఉపయోగిస్తారు.
ఇది పనిచేస్తుంది. కానీ ఇది ఒక అబద్ధం. మీరు కేవలం డేటాను చదువుతున్నప్పుడు కూడా, మీరు డేటాను మారుస్తున్నారని HTTPకి చెబుతున్నారు.
జూన్ 2026లో, IETF RFC 10008ను ప్రచురించింది. ఇది QUERY అనే కొత్త HTTP మెథడ్ను నిర్వచిస్తుంది. రెండు దశాబ్దాల కాలంలో ఇది మొదటి కొత్త మెథడ్. ఇది పైన పేర్కొన్న సమస్యను ఖచ్చితంగా పరిష్కరిస్తుంది.
ప్రస్తుత సమస్య
డేటాను చదవడానికి GET చాలా బాగుంటుంది. ఇది సురక్షితమైనది మరియు cacheable. కానీ ఇది request bodyని మోయలేదు. URLలకు క్యారెక్టర్ పరిమితులు కూడా ఉంటాయి.
POST బాడీని మోస్తుంది. కానీ POST స్టేట్ను మారుస్తుందని HTTP భావిస్తుంది. అంటే మీరు ఆటోమేటిక్ క్యాషింగ్ మరియు సురక్షితమైన retriesని కోల్పోతారు. ఒక POST రిక్వెస్ట్ టైమ్ అవుట్ అయితే, మీరు దానిని నేరుగా మళ్ళీ ప్రయత్నించలేరు. సర్వర్ ఇప్పటికే ఏదైనా మార్చిందో లేదో మీకు తెలియదు.
పరిష్కారం: QUERY
QUERY అనేది bodyతో కూడిన GET రిక్వెస్ట్. ఇది రెండు హామీలను అందిస్తుంది:
- ఇది సురక్షితమైనది. ఇది డేటాను మార్చదు.
- ఇది idempotent. దీనిని రెండుసార్లు పంపినా, ఒకసారి పంపినట్లే ఫలితం వస్తుంది.
దీనిని ఈరోజు ఎలా ఉపయోగించాలి
మీరు దీనిని ఇప్పుడే Axios లేదా Fetchతో ఉపయోగించవచ్చు.
Axios example:
axios.request({
method: 'QUERY',
url: '/api/products',
data: { category: 'shoes', maxPrice: 100 }
})
Fetch example:
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 సపోర్ట్ను ఆశించవచ్చు. ఇది క్యాషింగ్ను చాలా సులభతరం చేస్తుంది.
ఇది మీ కోడ్కు ఎందుకు ముఖ్యం
- Automatic Retries: QUERY అనేది idempotent కాబట్టి, mobile apps మరియు clients విఫలమైన రిక్వెస్ట్లను సురక్షితంగా మళ్ళీ ప్రయత్నించవచ్చు.
- Better Caching: బాడీ ఆధారంగా CDNs QUERY రెస్పాన్స్లను క్యాష్ చేయగలవు. మీరు స్వయంగా తయారు చేసుకున్న Redis cache లేయర్లను తొలగించవచ్చు.
- Cleaner URLs: మీరు ఇకపై సంక్లిష్టమైన JSONలను URL query parametersలలో నింపాల్సిన అవసరం లేదు.
- Semantic APIs: మీ API డాక్యుమెంటేషన్ మరింత స్పష్టంగా ఉంటుంది. ఏ endpoints డేటాను చదువుతాయి మరియు ఏవి డేటాను రాస్తాయి అనేది డెవలపర్లకు ఖచ్చితంగా తెలుస్తుంది.
మీ ప్రస్తుత POST endpointsను ఆడిట్ చేయడం ద్వారా మీ బృందాన్ని సిద్ధం చేయండి. ఏవి కేవలం డేటాను మాత్రమే చదువుతాయో గుర్తించండి. అవి మీ భవిష్యత్తు QUERY endpoints.
