20 ವರ್ಷಗಳಲ್ಲಿ HTTP ತನ್ನ ಮೊದಲ ಹೊಸ ವಿಧಾನವನ್ನು (Method) ಪಡೆದುಕೊಂಡಿದೆ

ನೀವು ಬಹುಶಃ ಇದನ್ನು ಈ ಮೊದಲು ಮಾಡಿರಬಹುದು.

ನೀವು ಉತ್ಪನ್ನಗಳನ್ನು ಹುಡುಕಬೇಕಿದೆ ಎಂದು ಭಾವಿಸಿ. ನಿಮ್ಮ ಸರ್ಚ್ ಫಿಲ್ಟರ್‌ಗಳು (search filters) URL ಗೆ ಅತೀ ದೊಡ್ಡದಾಗಿವೆ. ಇದನ್ನು ಸರಿಪಡಿಸಲು, ನೀವು POST ರಿಕ್ವೆಸ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತೀರಿ.

ಇದು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಆದರೆ ಇದು ಒಂದು ಸುಳ್ಳು. ನೀವು ಕೇವಲ ಡೇಟಾವನ್ನು ಓದುತ್ತಿದ್ದೀರಿ (reading) ಆದರೂ, ನೀವು ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸುತ್ತಿದ್ದೀರಿ ಎಂದು HTTP ಗೆ ತಿಳಿಸುತ್ತೀರಿ.

ಜೂನ್ 2026 ರಲ್ಲಿ, IETF RFC 10008 ಅನ್ನು ಪ್ರಕಟಿಸಿತು. ಇದು QUERY ಎಂಬ ಹೊಸ HTTP ವಿಧಾನವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಇದು ಎರಡು ದಶಕಗಳಿಗೂ ಹೆಚ್ಚು ಕಾಲದಲ್ಲಿ ಬಂದ ಮೊದಲ ಹೊಸ ವಿಧಾನವಾಗಿದೆ. ಇದು ಮೇಲೆ ತಿಳಿಸಿದ ಸಮಸ್ಯೆಯನ್ನು ನಿಖರವಾಗಿ ಪರಿಹರಿಸುತ್ತದೆ.

ಪ್ರಸ್ತುತ ಸಮಸ್ಯೆ

ಡೇಟಾವನ್ನು ಓದಲು GET ಉತ್ತಮವಾಗಿದೆ. ಇದು ಸುರಕ್ಷಿತ ಮತ್ತು ಕ್ಯಾಶೆ ಮಾಡಬಹುದಾದ (cacheable) ವಿಧಾನವಾಗಿದೆ. ಆದರೆ ಇದು ರಿಕ್ವೆಸ್ಟ್ ಬಾಡಿಯನ್ನು (request body) ಹೊಂದಲು ಸಾಧ್ಯವಿಲ್ಲ. URL ಗಳು ಕೂಡ ಅಕ್ಷರಗಳ ಮಿತಿಯನ್ನು ಹೊಂದಿರುತ್ತವೆ.

POST ಬಾಡಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಆದರೆ HTTP ವಿಧಾನವು POST ಡೇಟಾದ ಸ್ಥಿತಿಯನ್ನು (state) ಬದಲಾಯಿಸುತ್ತದೆ ಎಂದು ಭಾವಿಸುತ್ತದೆ. ಇದರರ್ಥ ನೀವು ಸ್ವಯಂಚಾಲಿತ ಕ್ಯಾಶಿಂಗ್ (automatic caching) ಮತ್ತು ಸುರಕ್ಷಿತ ಮರುಪ್ರಯತ್ನಗಳನ್ನು (safe retries) ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ಒಂದು POST ರಿಕ್ವೆಸ್ಟ್ ಟೈಮ್ ಔಟ್ (time out) ಆದರೆ, ನೀವು ಅದನ್ನು ಸುಲಭವಾಗಿ ಮರುಪ್ರಯತ್ನಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಸರ್ವರ್ ಈಗಾಗಲೇ ಏನನ್ನಾದರೂ ಬದಲಾಯಿಸಿತ್ತೇ ಎಂಬುದು ನಿಮಗೆ ತಿಳಿಯುವುದಿಲ್ಲ.

ಪರಿಹಾರ: 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 })
})

ಮುಂದೆ ಏನನ್ನು ನಿರೀಕ್ಷಿಸಬಹುದು

ಈ ಬದಲಾವಣೆ ರಾತ್ರೋರಾತ್ರಿ ಸಂಭವಿಸುವುದಿಲ್ಲ. ಅದರ ಮಾರ್ಗಸೂಚಿ (roadmap) ಇಲ್ಲಿದೆ:

  • ಮೂಲಸೌಕರ್ಯ (Infrastructure): Nginx ಮತ್ತು Apache ಈ ರಿಕ್ವೆಸ್ಟ್‌ಗಳನ್ನು ವರ್ಗಾಯಿಸುತ್ತವೆ. QUERY ವಿಧಾನವನ್ನು ಅನುಮತಿಸಲು ನೀವು ನಿಮ್ಮ WAF ಅಥವಾ ಸೆಕ್ಯೂರಿಟಿ ರೂಲ್ಸ್‌ಗಳನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಬೇಕಾಗಬಹುದು.
  • ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು (Frameworks): 2026 ಮತ್ತು 2027 ರ ಉದ್ದಕ್ಕೂ Spring, Rails ಮತ್ತು Express ನೈಸರ್ಗಿಕ ಬೆಂಬಲವನ್ನು (native support) ನೀಡುವ ನಿರೀಕ್ಷೆಯಿದೆ.
  • CDNs: Cloudflare ಮತ್ತು Akamai ನ ಎಂಜಿನಿಯರ್‌ಗಳು ಇದನ್ನು ಬರೆಯಲು ಸಹಾಯ ಮಾಡಿದ್ದರಿಂದ, ವೇಗದ CDN ಬೆಂಬಲವನ್ನು ನಿರೀಕ್ಷಿಸಬಹುದು. ಇದು ಕ್ಯಾಶಿಂಗ್ ಅನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ಇದು ನಿಮ್ಮ ಕೋಡ್‌ಗೆ ಏಕೆ ಮುಖ್ಯ

  1. ಸ್ವಯಂಚಾಲಿತ ಮರುಪ್ರಯತ್ನಗಳು (Automatic Retries): QUERY ವಿಧಾನವು idempotent ಆಗಿರುವುದರಿಂದ, ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳು ವಿಫಲವಾದ ರಿಕ್ವೆಸ್ಟ್‌ಗಳನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಮರುಪ್ರಯತ್ನಿಸಬಹುದು.
  2. ಉತ್ತಮ ಕ್ಯಾಶಿಂಗ್ (Better Caching): CDNs ಬಾಡಿಯನ್ನು ಆಧರಿಸಿ QUERY ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಬಹುದು. ನೀವು ಸ್ವತಃ ತಯಾರಿಸಿದ Redis ಕ್ಯಾಶ್ ಲೇಯರ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಬಹುದು.
  3. ಸ್ವಚ್ಛವಾದ URLಗಳು: ನೀವು ಇನ್ನು ಮುಂದೆ ಸಂಕೀರ್ಣವಾದ JSON ಅನ್ನು URL ಕ್ವೆರಿ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳಿಗೆ ಒತ್ತಡ ಹಾಕುವ ಅಗತ್ಯವಿಲ್ಲ.
  4. ಸೆಮ್ಯಾಂಟಿಕ್ APIಗಳು (Semantic APIs): ನಿಮ್ಮ API ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಹೆಚ್ಚು ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ. ಯಾವ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು ಡೇಟಾವನ್ನು ಓದುತ್ತವೆ ಮತ್ತು ಯಾವವು ಡೇಟಾವನ್ನು ಬರೆಯುತ್ತವೆ ಎಂಬುದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ನಿಖರವಾಗಿ ತಿಳಿಯುತ್ತದೆ.

ನಿಮ್ಮ ಪ್ರಸ್ತುತ POST ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಆಡಿಟ್ ಮಾಡುವ ಮೂಲಕ ನಿಮ್ಮ ತಂಡವನ್ನು ಸಿದ್ಧಪಡಿಸಿಕೊಳ್ಳಿ. ಯಾವುವು ಕೇವಲ ಡೇಟಾವನ್ನು ಓದುತ್ತವೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಿ. ಅವುಗಳೇ ನಿಮ್ಮ ಭವಿಷ್ಯದ QUERY ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು.

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