𝗥𝗙𝗖 𝟭𝟬𝟬𝟬𝟴: புதிய HTTP QUERY முறை
சிக்கலான தரவுகளைப் பெறும்போது (fetching complex data) டெவலப்பர்கள் ஒரு சிக்கலை எதிர்கொள்கிறார்கள். நீங்கள் GET முறையைப் பயன்படுத்த விரும்புகிறீர்கள், ஆனால் அதற்கு வரம்புகள் உள்ளன. நீங்கள் POST முறையைப் பயன்படுத்த விரும்புகிறீர்கள், ஆனால் அது அந்த வேலைக்கு சரியான கருவி அல்ல. RFC 10008 ஒரு புதிய தீர்வை முன்மொழிகிறது: QUERY முறை.
GET முறையினால் தற்போது ஏற்படும் சிரமங்கள்:
- URL வரம்புகள்: உலாவிகள் (Browsers) மற்றும் சேவையகங்கள் (servers) URL நீளத்தைக் கட்டுப்படுத்துகின்றன. பெரிய வடிகட்டிகள் (filters) உங்கள் கோரிக்கைகளை (requests) முறித்துவிடும்.
- குழப்பமான அமைப்பு: GET எளிய key-value இணைகளைப் பயன்படுத்துகிறது. ஒன்றிற்குள் ஒன்று அமைந்த (nested) JSON ஆப்ஜெக்ட்களை அனுப்புவது கடினம்.
- தனியுரிமை அபாயங்கள்: Query parameters ஆகியவை சேவையகப் பதிவுகள் (server logs) மற்றும் உலாவியின் வரலாற்றில் (browser history) தெரியவருகின்றன.
POST முறையினால் தற்போது ஏற்படும் சிரமங்கள்:
- தவறான பொருளியல் (semantics): POST என்பது நீங்கள் தரவை உருவாக்க அல்லது மாற்ற விரும்புகிறீர்கள் என்று சேவையகத்திற்குத் தெரிவிக்கிறது.
- கேச்சிங் (Caching) சிக்கல்கள்: பெரும்பாலான அமைப்புகள் POST கோரிக்கைகளை கேச் (cache) செய்வதில்லை. இது உங்கள் செயலியை (application) மெதுவாக்கும்.
QUERY முறை இதை மாற்றுகிறது. தரவைப் பெறுவதற்காக (data retrieval) ஒரு request body-ஐ அனுப்ப இது அனுமதிக்கிறது. இது உங்கள் API-ஐத் தூய்மையாக வைத்திருக்கவும் சரியான விதிகளின்படி செயல்படவும் உதவுகிறது.
QUERY முறையின் நன்மைகள்:
- சிக்கலான bodies-களைப் பயன்படுத்தலாம்: தேடல் வடிகட்டிகளுக்காக (search filters) முழுமையான JSON ஆப்ஜெக்ட்களை நீங்கள் அனுப்பலாம்.
- பாதுகாப்பானது: இது சேவையகத்தின் நிலையை (server state) மாற்றாது.
- வேகத்தை மேம்படுத்தலாம்: இது GET முறையைப் போலவே திறமையான கேச்சிங் (caching) செய்ய அனுமதிக்கிறது.
POST முறையை GET வேலைக்காகப் பயன்படுத்தத் தேவையில்லை. HTTP தரநிலைகளை (standards) மீறாமல், விரிவான தரவுகளைப் பெறுவதற்கான வழியை QUERY முறை வழங்குகிறது.
ஆதாரம்: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-rfc-10008-the-new-http-query-method-25fo