About URL Encoding
URL एन्कोडिंग, जिसे प्रतिशत-एन्कोडिंग भी कहा जाता है, एक युनिफॉर्म रिसोर्स आइडेंटिफायर (URI) में जानकारी को एन्कोड करने की एक प्रक्रिया है। इसका उपयोग उन कैरेक्टर्स को एक ऐसे फॉर्मेट में बदलने के लिए किया जाता है जिन्हें इंटरनेट पर ट्रांसमिट किया जा सके, जो URL में अनुमति नहीं हैं। यह एन्कोडिंग असुरक्षित ASCII कैरेक्टर्स को "%" के साथ दो हेक्साडेसिमल अंकों से बदल देती है।
URL एन्कोडिंग के सामान्य उपयोग
- URLs में क्वेरी स्ट्रिंग्स का फॉर्मेटिंग
- HTTP रिक्वेस्ट्स (application/x-www-form-urlencoded) के माध्यम से फॉर्म डेटा भेजना
- विशेष कैरेक्टर्स या स्पेस के साथ वैध URLs बनाना
- URLs में गैर-ASCII कैरेक्टर्स को एन्कोड करना
- APIs और वेब सर्विसेज में जटिल पैरामीटर्स पास करना
URL एन्कोडिंग कैसे काम करती है
URL एन्कोडिंग निम्नलिखित सिद्धांतों का पालन करती है:
- अल्फ़ान्यूमेरिक कैरेक्टर्स (A-Z, a-z, 0-9) अपरिवर्तित रहते हैं
- स्पेशल कैरेक्टर्स जैसे स्पेस, ?, &, =, %, + को उनके प्रतिशत-एन्कोडेड समकक्षों में बदला जाता है
- UTF-8 एन्कोडेड कैरेक्टर के प्रत्येक बाइट को अलग-अलग प्रतिशत-एन्कोड किया जाता है
- एक स्पेस कैरेक्टर को "%20" या "+" (क्वेरी पैरामीटर्स में) के रूप में एन्कोड किया जा सकता है
- आरक्षित कैरेक्टर्स जैसे /, :, ?, #, [ URLs में विशेष अर्थ रखते हैं और उनके संदर्भ के अनुसार अलग तरीके से व्यवहार किया जा सकता है
encodeURI बनाम encodeURIComponent
JavaScript URL एन्कोडिंग के लिए दो फंक्शन्स प्रदान करता है:
- encodeURI: एक पूर्ण URI को एन्कोड करता है, उन कैरेक्टर्स को संरक्षित रखते हुए जो URI सिंटैक्स का हिस्सा हैं (जैसे /:?#[]@!$&'()*+,;=)
- encodeURIComponent: एक URI कंपोनेंट (जैसे क्वेरी पैरामीटर वैल्यू) को एन्कोड करता है, अधिक कैरेक्टर्स को एन्कोड करते हुए जिनका URI में विशेष अर्थ होता है
अधिकांश मामलों में जब उपयोगकर्ता इनपुट या क्वेरी पैरामीटर्स को एन्कोड किया जाता है, encodeURIComponent()
यह सुरक्षित विकल्प है क्योंकि यह सुनिश्चित करता है कि सभी संभावित समस्या वाले कैरेक्टर्स सही तरीके से एन्कोड हों।
अंतरराष्ट्रीय कैरेक्टर्स के लिए URL एन्कोडिंग
आधुनिक ब्राउज़र्स गैर-ASCII कैरेक्टर्स को UTF-8 एन्कोडिंग का उपयोग करके एन्कोड करते हैं और फिर प्रत्येक बाइट को प्रतिशत-एन्कोड करते हैं। यह सुनिश्चित करता है कि अंतरराष्ट्रीय कैरेक्टर्स, इमोजी, और अन्य यूनिकोड प्रतीक URLs में सही तरीके से शामिल हो सकें। उदाहरण के लिए, जापानी कैरेक्टर "日" को पहले UTF-8 में तीन बाइट्स (E6 97 A5) के रूप में एन्कोड किया जाता है और फिर इसे "%E6%97%A5" के रूप में प्रतिशत-एन्कोड किया जाता है।
Examples
सादा टेक्स्ट | URL एन्कोडेड |
---|---|
हैलो वर्ल्ड | Hello%20World |
https://example.com/?q=search term | https%3A%2F%2Fexample.com%2F%3Fq%3Dsearch%20term |
50% छूट बिक्री! | 50%25%20off%20sale%21 |
Smith & Jones LLC | Smith%20%26%20Jones%20LLC |