यूआरएल को कोड में बदलने का तरीका

कुछ वर्ण किसी यूआरएल का हिस्सा नहीं हो सकते (उदाहरण के लिए, स्पेस) और कुछ दूसरे वर्ण यूआरएल में वर्णों का खास मतलब होता है. एचटीएमएल फ़ॉर्म में, = वर्ण यह है इसका इस्तेमाल किसी नाम को वैल्यू से अलग करने के लिए किया जाता है. यूआरआई जेनरिक सिंटैक्स में यूआरएल एन्कोडिंग का इस्तेमाल किया जाता है लेकिन HTML फ़ॉर्म के कुछ अतिरिक्त प्रतिस्थापन के लिए प्रतिशत एन्कोडिंग लागू नहीं की जाएगी.

उदाहरण के लिए, स्ट्रिंग में मौजूद स्पेस या तो %20 के साथ कोड में बदले जाते हैं या इससे बदल दिए जाते हैं प्लस का निशान (+). अगर सेपरेटर के तौर पर पाइप वर्ण (|) का इस्तेमाल किया जाता है, तो पक्का करें कि पाइप को %7C के तौर पर एन्कोड करने के लिए. स्ट्रिंग में कॉमा को %2C के तौर पर एन्कोड किया जाना चाहिए.

हमारा सुझाव है कि आप अपने प्लैटफ़ॉर्म की सामान्य यूआरएल बिल्डिंग लाइब्रेरी का इस्तेमाल करके, आपके यूआरएल को अपने-आप कोड में बदल देगा, ताकि यह पक्का हो सके कि वे यूआरएल प्लैटफ़ॉर्म.

मान्य यूआरएल बनाना

आपको लग सकता है कि "मान्य" यूआरएल साफ़ तौर पर दिखता है, लेकिन ऐसा नहीं है. पता बार में डाला गया कोई यूआरएल ब्राउज़र में खास वर्ण (जैसे, "上海+中國"); ब्राउज़र को आंतरिक रूप से अनुवाद करने की ज़रूरत है. ट्रांसमिशन से पहले उन वर्णों को कोड में बदलने के अलग-अलग तरीके का इस्तेमाल कर सकते हैं. UTF-8 इनपुट को जनरेट या स्वीकार करने वाला कोई भी कोड, इसी टोकन से UTF-8 वर्णों वाले यूआरएल को "मान्य" मान सकता है, लेकिन इसके लिए यह भी ज़रूरी है वेब सर्वर पर भेजने से पहले उन वर्णों का अनुवाद करने के लिए. इस प्रक्रिया को कहा जाता है यूआरएल को कोड में बदलने की सुविधा या प्रतिशत में कोड में बदलने का तरीका.

विशेष वर्ण

हमें विशेष वर्णों का अनुवाद करना होगा, क्योंकि सभी यूआरएल को एक समान रिसॉर्स आइडेंटिफ़ायर (यूआरआई) की खास जानकारी. इस तरह से, इसका मतलब है कि यूआरएल इसमें ASCII वर्णों का केवल एक विशेष सबसेट होना चाहिए: परिचित अक्षर और अंक, और कंट्रोल के लिए इस्तेमाल किए जाने वाले कुछ रिज़र्व वर्ण यूआरएल में मौजूद वर्णों को शामिल न करें. इस टेबल में इन वर्णों की खास जानकारी होती है:

मान्य यूआरएल वर्णों के बारे में खास जानकारी
सेट करेंवर्णयूआरएल का इस्तेमाल
अक्षर और अंक अ ख दू ना प रा ग ग ता है ए बी सी डी ई एफ़ जी एच आई जे के एल एम न ओ पी क्यू री एस टी यू डब्ल्यू डब्ल्यू एक्स वाई ज़ेड 0 1 2 3 4 5 6 7 8 9 टेक्स्ट स्ट्रिंग, स्कीम का इस्तेमाल (http), पोर्ट (8080) वगैरह
गैर-आरक्षित - _ . ~ टेक्स्ट स्ट्रिंग
बुकिंग की गई ! * ' ( ) ; : @ & = + $ , / ? % # [ ] वर्ण और/या टेक्स्ट स्ट्रिंग को कंट्रोल करें

मान्य यूआरएल बनाते समय, आपको यह पक्का करना होगा कि इसमें सिर्फ़ वे वर्ण शामिल हों जो टेबल. वर्णों के इस सेट का इस्तेमाल करने के लिए यूआरएल बनाना इससे दो समस्याएं होती हैं, पहली गलती और पहली जगह:

  • जिन वर्णों को आप हैंडल करना चाहते हैं, वे ऊपर सेट किया गया है. उदाहरण के लिए, विदेशी भाषाओं के वर्ण जैसे कि 上海+中國 को दिए गए वर्ण से बड़ा है. लोकप्रिय तौर पर, स्पेस (जो जिन्हें URL में दिखाने की अनुमति नहीं है) को अक्सर प्लस का उपयोग करके दिखाया जाता है '+' वर्ण भी.
  • ऊपर दिए गए सेट में वर्ण, रिज़र्व किए गए वर्णों के तौर पर मौजूद हैं, लेकिन इसका शाब्दिक इस्तेमाल करना ज़रूरी है. उदाहरण के लिए, यूआरएल में ? का इस्तेमाल यह बताने के लिए किया जाता है कि क्वेरी स्ट्रिंग की शुरुआत में; अगर आपको इसका इस्तेमाल करना है, स्ट्रिंग "? और द मिस्टीरियन्स," आपको उसे एन्कोड करना होगा '?' वर्ण.

यूआरएल के कोड में बदलने के लिए इस्तेमाल किए गए सभी वर्ण कोड में बदले जाते हैं '%' वर्ण और दो वर्ण के हेक्स कोड का इस्तेमाल करके वैल्यू, जो वर्ण UTF-8 से जुड़ी होनी चाहिए. उदाहरण के लिए, UTF-8 में 上海+中國 को यूआरएल के तौर पर इस तरह एन्कोड किया जाएगा %E4%B8%8A%E6%B5%B7%2B%E4%B8%AD%E5%9C%8B. कॉन्टेंट बनाने स्ट्रिंग ? and the Mysterians को इस तरह यूआरएल-एन्कोडेड किया जाएगा %3F+and+the+Mysterians या %3F%20and%20the%20Mysterians.

वे सामान्य वर्ण जिन्हें एन्कोडिंग की ज़रूरत होती है

कुछ सामान्य वर्ण जिन्हें कोड में बदलना ज़रूरी होता है, वे हैं:

असुरक्षित वर्ण कोड में बदला गया मान
स्पेस %20
" %22
< %3C
> %3E
# %23
% %25
| %7C

उपयोगकर्ता के इनपुट से मिले यूआरएल को कभी-कभी कन्वर्ज़न में बदलना पेचीदा. उदाहरण के लिए, कोई उपयोगकर्ता "5th&Main St." के रूप में पता दर्ज कर सकता है आम तौर पर, आपको यूआरएल को इसके अलग-अलग हिस्सों से बनाना चाहिए. लिटरल वर्णों के तौर पर किसी भी उपयोगकर्ता के इनपुट को शामिल करता है.

इसके अलावा, Google Maps Platform की सभी वेब सेवाओं के यूआरएल में ज़्यादा से ज़्यादा 16384 वर्ण हो सकते हैं और स्टैटिक वेब एपीआई का इस्तेमाल करें. ज़्यादातर सेवाओं के लिए, इस वर्ण सीमा तक शायद ही कभी पहुंचना होगा. हालांकि, ध्यान रखें कि कुछ सेवाओं के कई पैरामीटर होते हैं, जिनकी वजह से लंबे यूआरएल हो सकते हैं.