URL पार्सर
किसी URL को प्रोटोकॉल, होस्ट, पाथ और क्वेरी पैरामीटर में तोड़िए
इस टूल के बारे में
कोई URL चिपकाइए और उसे टुकड़ों में देखिए: प्रोटोकॉल, होस्ट, पोर्ट, पथ, फ़्रैगमेंट, और हर क्वेरी पैरामीटर एक डिकोड की गई कुंजी-मान तालिका के रूप में। यह वही WHATWG URL पार्सर इस्तेमाल करता है जिससे आपका ब्राउज़र नेविगेट करता है, इसलिए जो व्याख्या आप देखते हैं वही ब्राउज़र वास्तव में लागू करेगा — जिसमें डिफ़ॉल्ट पोर्ट हटाए जाने और पथ सामान्य किए जाने जैसे किनारे के मामले भी शामिल हैं।
क्वेरी-पैरामीटर तालिका वह हिस्सा है जिसका उपयोग आप सबसे ज़्यादा करेंगे: लंबे OAuth रीडायरेक्ट, ऐनालिटिक्स-टैग वाले लिंक और API कॉल एक नज़र में पठनीय हो जाते हैं, हर मान पहले ही प्रतिशत-डिकोड किया हुआ। बिना स्कीम वाले सादे डोमेन भी स्वीकार्य हैं; पार्सिंग के लिए https:// मान लिया जाता है।
यह URL एनकोडर के साथ स्वाभाविक जोड़ी बनाता है — यहाँ URL पार्स करके अपना ज़रूरी पैरामीटर ढूँढ़िए, मान बदलिए, और वहाँ दोबारा एनकोड कर लीजिए।
अक्सर पूछे जाने वाले प्रश्न
- पार्स किया गया URL मेरे चिपकाए URL से थोड़ा अलग क्यों है?
- WHATWG पार्सर सामान्यीकरण करता है: यह स्कीम और होस्ट को छोटे अक्षरों में करता है, डिफ़ॉल्ट पोर्ट हटाता है (https के लिए :443), ./ और ../ पथ-खंड सुलझाता है, और ज़रूरी वर्णों को एनकोड करता है। जो आप देखते हैं वह वही मानक रूप है जिस पर सर्वर और ब्राउज़र सहमत हैं।
- क्या यह दोहराई गई क्वेरी कुंजियों वाले URL सँभाल सकता है?
- हाँ — हर उपस्थिति क्रम में अपनी अलग पंक्ति के रूप में सूचीबद्ध होती है। दोहराई गई कुंजियाँ वैध और आम हैं: कई API उन्हें सूची की तरह पढ़ते हैं (?tag=a&tag=b)।
- host और hostname में क्या अंतर है?
- hostname केवल डोमेन है (example.com); host में स्पष्ट रूप से लिखा ग़ैर-डिफ़ॉल्ट पोर्ट भी शामिल होता है (example.com:8080)। जब पोर्ट स्कीम का डिफ़ॉल्ट हो, तो दोनों एक जैसे दिखते हैं क्योंकि पोर्ट छोड़ दिया जाता है।
- क्या फ़्रैगमेंट (#...) सर्वर तक जाता है?
- नहीं। # के बाद का सब कुछ ब्राउज़र में ही रहता है — सर्वर उसे कभी नहीं देखते। इसीलिए सिंगल-पेज ऐप्स ऐतिहासिक रूप से इसे क्लाइंट-साइड रूटिंग के लिए इस्तेमाल करते थे, और इसीलिए # के बाद रखे ऐनालिटिक्स पैरामीटर बैकएंड को दिखते ही नहीं।