HTML URL एन्कोड
Charset तय करता है कि HTML फ़ाइल बाइट्स को अक्षरों में कैसे बदलती है। URL एन्कोडिंग (percent-encoding) एक अलग समस्या है: अक्षर URL के अंदर — लिंक, रीडायरेक्ट और फ़ॉर्म क्वेरी डेटा में — सुरक्षित कैसे चलें, बिना URL की अपनी संरचना तोड़े। स्पेस, गैर-ASCII अक्षर और आरक्षित प्रतीक अक्सर % + हेक्स रूप चाहते हैं ताकि ब्राउज़र और सर्वर अर्थ पर सहमत रहें।
URL एन्कोडिंग क्या है
URL में आरक्षित अक्षर पते की संरचना बनाते हैं: ? क्वेरी शुरू करता है, & जोड़े अलग करता है, = नाम को मान से जोड़ता है, # फ़्रैगमेंट शुरू करता है। यदि वे अक्षर किसी मान के अंदर डेटा के रूप में आएँ, तो उन्हें एन्कोड करना ज़रूरी है ताकि उन्हें संरचना न समझा जाए। स्पेस जैसे असुरक्षित अक्षर भी विश्वसनीय ट्रांसपोर्ट के लिए एन्कोड होते हैं।
सीधा उत्तर
URL एन्कोडिंग एक अक्षर को % और दो हेक्साडेसिमल अंकों से बदलती है। क्लासिक उदाहरण: स्पेस %20 बन जाता है। कई ब्राउज़र और HTML फ़ॉर्म सबमिट पर क्वेरी मान अपने आप एन्कोड करते हैं। फिर भी हाथ से href क्वेरी स्ट्रिंग लिखते, टूटा लिंक डीबग करते, या प्रतिशत-कोड से भरी एड्रेस बार पढ़ते समय यह विचार ज़रूरी है।
सामान्य percent एन्कोडिंग
📊 सामान्य percent एन्कोडिंग
| Character | Encoded | Note |
|---|---|---|
| space | %20 | क्वेरी स्ट्रिंग में बहुत आम |
| # | %23 | नहीं तो # फ़्रैगमेंट शुरू करता है |
| & | %26 | & क्वेरी जोड़े अलग करता है |
| = | %3D | = नाम और मान अलग करता है |
| ? | %3F | ? क्वेरी स्ट्रिंग शुरू करता है |
| / | %2F | मान के अंदर स्लैश को एन्कोड की ज़रूरत हो सकती है |
लिंक में एन्कोडेड क्वेरी
स्पेस वाली खोज क्वेरी हाथ से लिखना सबसे स्पष्ट शुरुआती डेमो है। मान में स्पेस एन्कोड करें; संरचनात्मक ? और = को अकेला छोड़ें।
क्वेरी में एन्कोडेड स्पेस वाला लिंक
html<p>
<a href="search.html?q=html%20links">Search for html links</a>
</p>
सैंपल पढ़ना
search.htmlपाथ है; जब आप नियंत्रित करें तो पाथ फ़ाइलनाम सरल रखें?q=नामqवाला क्वेरी पैरामीटर शुरू करता हैhtml%20linksमान “html links” है जिसमें स्पेस%20के रूप में एन्कोड है- दिखने वाला लिंक टेक्स्ट मानव-पठनीय रह सकता है; एन्कोडिंग URL में रहती है
साफ़ फ़ाइलनाम पसंद करें; मान एन्कोड करें
स्पेस वाला पूरा पेज फ़ाइलनाम एन्कोड करना सबके लिए असुविधाजनक है। my page.html के बजाय my-page.html चुनें। Percent-encoding मुख्यतः क्वेरी मानों और उन URL में विशेष अक्षरों के लिए उपयोग करें जिन्हें आपको हाथ से जोड़ना हो।
साफ़ पाथ बनाम एन्कोडेड क्वेरी मान
html<!-- Prefer a clean path -->
<a href="my-page.html">My page</a>
<!-- Encode spaces inside query values when needed -->
<a href="results.html?topic=url%20encode">URL encode results</a>
फ़ॉर्म और ब्राउज़र अक्सर मदद करते हैं
जब उपयोगकर्ता method="get" वाले HTML फ़ॉर्म को सबमिट करता है, ब्राउज़र आमतौर पर फ़ील्ड मानों को क्वेरी स्ट्रिंग में आपके लिए एन्कोड करते हैं। इससे लॉग पढ़ते, लिंक साझा करते, या हाथ से href लिखते समय %20 समझने की ज़रूरत नहीं हटती। पैटर्न जानने से डीबग तेज़ होता है।
HTML एंटिटी जैसा नहीं
HTML टेक्स्ट में & एम्परसैंड अक्षर की एंटिटी है। URL में डेटा वाला एम्परसैंड %26 के रूप में आ सकता है। अलग उपकरण, अलग संदर्भ। इसी तरह, फ़ाइल charset UTF-8 .html फ़ाइल डिकोड करने के बारे में है — यह URL के अंदर percent-encoding की जगह नहीं लेता।
URL में गैर-ASCII (शुरुआती नोट)
बेसिक ASCII से बाहर अक्षर वास्तविक पतों में लंबी percent-सीक्वेंस के रूप में दिख सकते हैं। इस सत्र में उन चार्ट को याद करने की ज़रूरत नहीं। नियम याद रखें: जब अक्षर डेटा के रूप में असुरक्षित या आरक्षित हो, percent-encoding वह तरीका है जिससे URL उसे ले जाता है। सीखने वाले पेजों के लिए डेमो क्वेरी सरल लैटिन प्लस %20 में रखें जब तक आप सहज न हों।
अपने एडिटर में अभ्यास
- ऐसा लिंक बनाएँ जिसके
hrefमें?q=hello%20worldजैसी क्वेरी हो। - लिंक खोलें और एड्रेस बार देखें।
- स्रोत में
%20को कच्चा स्पेस बनाएँ, रीलोड करें, और तुलना करें कि ब्राउज़र URL को कैसे सामान्य या तोड़ता है। - अभ्यास फ़ाइल का नाम स्पेस की जगह हाइफ़न से रखें और लिंक अपडेट करें।
- एक ऐसा क्वेरी मान लिखें जिसमें डेटा के हिस्से के रूप में एम्परसैंड होने पर
%26चाहिए — फिर पुष्टि करें कि आपने पैरामीटर के बीच संरचनात्मक&को एन्कोड नहीं किया।
आसान गलतियाँ
- कोड में URL में कच्चा स्पेस चिपकाना बिना परिणाम जाँचे
- गलती से
https://स्कीम या पूरा संरचनात्मक कंकाल percent-encode करना - HTML एंटिटी (
&) को URL कोड (%26) से भ्रमित करना - हर फ़ाइलनाम में स्पेस रखना और उम्मीद करना कि एन्कोडिंग नेविगेशन हमेशा बचा लेगी
- संरचनात्मक
?/&/=एन्कोड करना जो भागों के बीच URL सिंटैक्स रहना चाहिए
सारांश
- URL एन्कोडिंग
%प्लस दो हेक्स अंक इस्तेमाल करती है (स्पेस →%20) - आरक्षित और असुरक्षित अक्षरों को डेटा होने पर एन्कोड चाहिए
- सरल फ़ाइलनाम चुनें; हाथ से लिखते समय क्वेरी मान एन्कोड करें
- फ़ॉर्म और ब्राउज़र अक्सर सबमिट पर अपने आप एन्कोड करते हैं
- Percent-encoding HTML एंटिटी या फ़ाइल charset जैसा काम नहीं है
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी