यूआरएल को विशेष कैरेक्टर एन्कोडिंग की आवश्यकता क्यों है

यूआरएल HTTP प्रोटोकॉल का उपयोग करके नेटवर्क पर प्रसारित होते हैं। HTTP विनिर्देश (और इसके पूर्ववर्ती, इंटरनेट प्रोटोकॉल मानक) यूआरएल को यूएस-एएससीआईआई वर्णों के सबसेट तक सीमित करता है - विशेष रूप से 0x21 और 0x7E के बीच बाइट मान वाले वर्ण।
इस सीमा से बाहर के वर्ण - जिनमें रिक्त स्थान, उच्चारण वर्ण (é, ñ, ü), चीनी/जापानी/कोरियाई वर्ण और कई प्रतीक शामिल हैं - एन्कोडिंग के बिना URL में सुरक्षित नहीं हैं।
विशेष रूप से रिक्त स्थान क्यों? HTTP अनुरोध पंक्ति में विधि, यूआरएल और प्रोटोकॉल संस्करण के बीच एक सीमांकक के रूप में रिक्त स्थान का उपयोग करता है:
GET /search?q=hello world HTTP/1.1सर्वर यूआरएल के अंत के रूप में "हैलो" और HTTP संस्करण स्ट्रिंग के अमान्य भाग के रूप में "वर्ल्ड" को देखता है। यूआरएल टूटा हुआ है।
समाधान: प्रतिशत-एन्कोडिंग (RFC 3986 में परिभाषित) असुरक्षित वर्णों को एक सुरक्षित %XX नोटेशन में परिवर्तित करता है जहां XX हेक्साडेसिमल बाइट मान है।
प्रतिशत-एन्कोडिंग कैसे काम करती है


UTF-8 में प्रत्येक वर्ण एक से चार बाइट्स का है। प्रतिशत-एन्कोडिंग प्रत्येक बाइट को % में परिवर्तित करती है, इसके बाद दो हेक्साडेसिमल अंक:
| चरित्र | UTF-8 बाइट | प्रतिशत-एन्कोडेड |
|---|---|---|
| अंतरिक्ष | 0x20 | ]]%20 |
| # | 0x23[ | %23 |
| & | 0x26 | %26 |
| = | 0x3D | %3D |
| / | 0x2F | %2F |
| é | 0xC3 0xA9 | %C3%A9 |
| 中 | 0xE4 0xB8 0xAD | %E4%B8%AD |
https://example.com/搜索 जैसे चीनी अक्षरों वाला एक URL बन जाता है: https://example.com/%E6%90%9C%E7%B4%A2
आरक्षित वर्ण बनाम अनारक्षित वर्ण

अनारक्षित वर्ण (इन्हें कभी एन्कोड न करें): A-Z a-z 0-9 - _। ~ ये सभी URL संदर्भों में सुरक्षित हैं और इन्हें हमेशा अनएन्कोडेड दिखना चाहिए।
आरक्षित वर्ण (डेटा के रूप में उपयोग किए जाने पर एन्कोड करें, सीमांकक के रूप में नहीं): : / ? # [ ] @ ! $ & ' ( ) * + , ; = इन वर्णों का URL में विशेष अर्थ होता है। जब वे क्वेरी पैरामीटर मान में शाब्दिक डेटा के रूप में दिखाई देते हैं तो उन्हें एनकोड करें।
उदाहरण — खोज क्वेरी URL:
https://example.com/search?q=cats&dogs
यह अस्पष्ट है - प्रश्न "बिल्लियाँ" है या "बिल्लियाँ और कुत्ते"? एन्कोडिंग के साथ:
https://example.com/search?q=cats%26dogsअब एम्परसेंड को डेटा के रूप में एन्कोड किया गया है, क्वेरी पैरामीटर विभाजक के रूप में नहीं।
ToolDolfen पर URL एन्कोडिंग और डिकोडिंग

- टूलडॉल्फेन यूआरएल एनकोडर/डिकोडर खोलें। एनकोड पर क्लिक करें।
टूल पूर्ण URL और URL घटकों (व्यक्तिगत क्वेरी पैरामीटर मान) दोनों को संभालता है। पूर्ण URL एन्कोडिंग के लिए, केवल गैर-आरक्षित वर्ण एन्कोड किए जाते हैं; घटक एन्कोडिंग के लिए, आरक्षित वर्ण भी एन्कोड किए गए हैं।
URL एन्कोडर / डिकोडर (URL Encoder) (Url Encoder Decoder)अनुशंसित सहयोगी मार्गदर्शिकाएँ
अपने डिजिटल वर्कफ़्लो को बढ़ाने के लिए इस विषय क्लस्टर से पूरक ट्यूटोरियल और उपयोगिताओं का अन्वेषण करें:
HEX, RGB, और HSL: CSS और डिज़ाइन के लिए पूर्ण रंग मॉडल गाइडसत्यापित मानकों और इन-ब्राउज़र के साथ व्यावहारिक चरण-दर-चरण ट्यूटोरियल कार्यप्रवाह।मजबूत पासवर्ड का गणित: एन्ट्रॉपी, NIST दिशानिर्देश, और पासवर्ड लंबाईसत्यापित मानकों और इन-ब्राउज़र के साथ व्यावहारिक चरण-दर-चरण ट्यूटोरियल वर्कफ़्लोज़। वर्कफ़्लो।पीडीएफ फाइलों को कैसे विभाजित करें और विशिष्ट पेज रेंज कैसे निकालेंसंबंधित डेटा और मीडिया को जोड़ने वाला पूरक क्रॉस-फॉर्मेट वर्कफ़्लो उपकरण।