यूआरएल के कौनसे हिस्से होते हैं?

ज़्यादातर मामलों में, "मैंने एक डोमेन खरीदा" या "हमारी इमेज किसी दूसरी साइट पर होस्ट की गई हैं" जैसे दावे किए जा सकते हैं. भले ही, ये दावे पूरी तरह से सही न हों. हालांकि, कुछ मामलों में ज़्यादा सटीक जानकारी देना ज़रूरी होता है. उदाहरण के लिए, कुकी मैनेज करते समय आपको साइट और ऑरिजिन के बीच का अंतर पता होना चाहिए.

यूआरएल के हिस्सों के नाम एक स्टैंडर्ड में दिए गए हैं. इसमें JavaScript API के बारे में भी बताया गया है:

  • यूआरएल स्टैंडर्ड में यूआरएल और उनसे जुड़े कॉन्सेप्ट के बारे में बताया गया है. इससे इंजीनियर, एक साथ काम करने वाले वेब ब्राउज़र बना सकते हैं.
  • स्टैंडर्ड का यूआरएल एपीआई कॉम्पोनेंट, यूआरएल स्ट्रिंग के कुछ हिस्सों को ऐक्सेस करने के तरीके तय करता है. जैसे, स्कीम या ऑरिजिन.

इस दस्तावेज़ में, एचटीटीपी या एचटीटीपीएस यूआरएल स्ट्रिंग के साथ इस्तेमाल किए जाने वाले कई शब्दों के बारे में बताया गया है. इसमें फ़ाइल या डेटा यूआरएल जैसे अन्य तरह के यूआरएल शामिल नहीं हैं. host और origin जैसे शब्दों की सटीक परिभाषाएं देना मुश्किल है. इसलिए, इस दस्तावेज़ में पूरी जानकारी देने के बजाय, उदाहरण और यूआरएल स्टैंडर्ड के लिंक दिए गए हैं.

यूआरएल कॉम्पोनेंट के नाम पाने के लिए, JavaScript का इस्तेमाल किया जा सकता है. ये नाम, यूआरएल एपीआई से तय किए जाते हैं. उदाहरण के लिए:

let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);

यूआरएल ऐनालाइज़र

यूआरएल स्ट्रिंग के अलग-अलग हिस्सों के नाम देखने के लिए, यहां दिए गए यूआरएल में बदलाव करें. इसे अलग टैब में भी खोला जा सकता है. इसके लिए, https://chrome.dev/url-parts/ पर जाएं.


यूआरएल के हिस्सों के नाम, यहां वर्णमाला के क्रम में दिए गए हैं.

देश के कोड के हिसाब से टॉप लेवल डोमेन (ccTLD)

आईएसओ 3166-1 देश के कोड की सूची में तय किया गया टॉप-लेवल डोमेन.

  • https://example.org.au के लिए, ccTLD au है.
  • https://example.io के लिए, ccTLD io है.

डोमेन नाम

एचटीटीपी या एचटीटीपीएस यूआरएल के वे हिस्से जिन्हें बिंदुओं से अलग किया जाता है: स्कीम के बाद का हिस्सा, लेकिन पाथ या पोर्ट से पहले का हिस्सा (अगर बताया गया हो). डोमेन नेम के हर हिस्से को लेबल कहा जाता है.

URL डोमेन नाम
https://example.github.io/path example.github.io
https://support.example.org.au:443 support.example.org.au

इफ़ेक्टिव टॉप-लेवल डोमेन (ईटीएलडी)

पब्लिक सफ़िक्स लिस्ट में मौजूद कोई एंट्री. इसमें ये शामिल हैं: कोई TLD और (एक से ज़्यादा हिस्सों वाले eTLD के लिए) उसके नीचे मौजूद अतिरिक्त डोमेन: सेकंड-लेवल, थर्ड-लेवल वगैरह.

  • उदाहरण के लिए: com, com.au, github.io, sa.edu.au, schools.nsw.edu.au.

"पब्लिक सफ़िक्स" एक ऐसा नाम होता है जिसके तहत डोमेन रजिस्टर किए जा सकते हैं. जैसे, ये उदाहरण. सार्वजनिक सफ़िक्स सूची में, सभी ज्ञात सार्वजनिक सफ़िक्स की सूची होती है. इसे अक्सर अपडेट किया जाता है. Chromium और Firefox जैसे ब्राउज़र, अपनी बिल्ड में इस सूची का इस्तेमाल करते हैं.

eTLD+1

रजिस्टर किया जा सकने वाला डोमेन देखें.

eTLD के साथ-साथ, उससे पहले आने वाला सबडोमेन.

  • उदाहरण के लिए: example.com, example.org.au, example.github.io, example.sa.edu.au, example.schools.nsw.edu.au.

फ़ाइल नाम

इसे यूआरएल स्टैंडर्ड में तय नहीं किया गया है. साथ ही, यह यूआरएल एपीआई का हिस्सा नहीं है. हालांकि, इसका इस्तेमाल आम तौर पर यूआरएल के फ़ाइनल, नॉन-पाथ वाले हिस्से को रेफ़र करने के लिए किया जाता है. ऐसा इस आधार पर किया जाता है कि यूआरएल सीधे तौर पर डायरेक्ट्री स्ट्रक्चर से मैप होता है. हालांकि, यह धारणा अक्सर गलत होती है.

उदाहरण के लिए, https://example.com/dir/file.html के साथ, file.html को फ़ाइल का नाम कहा जा सकता है.

अगर कोई ऐसेट डाउनलोड की जाती है, तो ब्राउज़र भी फ़ाइल के नाम की वैल्यू का इस्तेमाल करके ऐसेट का नाम तय करते हैं. उदाहरण के लिए, https://example.com/images/image.jpg को आम तौर पर image.jpg में स्थानीय तौर पर सेव किया जाता है.

फ़्रैगमेंट

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

  • उदाहरण के लिए: यूआरएल https://example.com/cats#tabby में फ़्रैगमेंट आइडेंटिफ़ायर की वैल्यू tabby है.

# वाला हिस्सा, हैश या ऐंकर कहलाता है. किसी टेक्स्ट फ़्रैगमेंट को लिंक और हाइलाइट भी किया जा सकता है.

हैश को फ़्रैगमेंट के बजाय यूआरएल एपीआई से वापस लाया जाता है.

पूरी तरह क्वालिफ़ाइड डोमेन नेम (एफ़क्यूडीएन)

किसी वेबसाइट या सर्वर का पूरा पता, जो आईपी पते पर मैप करता है.

URL एफ़क्यूडीएन
https://example.com:1234/cats example.com
https://api.example.github.io api.example.github.io

किसी यूआरएल के लिए FQDN में पोर्ट शामिल नहीं होता है. भले ही, किसी गैर-डिफ़ॉल्ट पोर्ट का इस्तेमाल किया गया हो.

हैश (या ऐंकर)

यूआरएल के आखिर में # वर्ण के बाद आने वाली स्ट्रिंग, जो फ़्रैगमेंट आइडेंटिफ़ायर देती है. (कुछ मामलों में इसे "ऐंकर" कहा जाता है.)

# को छोड़कर बाकी हिस्से को फ़्रैगमेंट कहा जाता है. किसी टेक्स्ट फ़्रैगमेंट को लिंक और हाइलाइट भी किया जा सकता है.

हैश को फ़्रैगमेंट के बजाय यूआरएल एपीआई से वापस लाया जाता है.

होस्ट

यूआरएल स्टैंडर्ड के मुताबिक, होस्ट एक डोमेन नेम, आईपी v4 पता, आईपीवी6 पता, ओपेक होस्ट या खाली होस्ट हो सकता है.

  • यूआरएल स्टैंडर्ड की परिभाषा में, host में पोर्ट शामिल नहीं है.
  • URL.host में पोर्ट शामिल होता है. हालांकि, अगर पोर्ट स्कीम के लिए डिफ़ॉल्ट है, तो उसे शामिल नहीं किया जाता.
  • URL.hostname में पोर्ट शामिल नहीं है.
URL URL.host
https://www.example.com:443/cat www.example.com
// 443 is the default port for the scheme
https://www.example.com:1234/cat www.example.com:1234
https://cat.example.github.io cat.example.github.io

होस्टनेम

होस्टनेम को JavaScript URL API से तय किया जाता है. हालांकि, यूआरएल स्टैंडर्ड के हिसाब से इसे कहीं और तय नहीं किया जाता. ज़्यादा जानकारी के लिए, होस्ट के तौर पर पेश करना लेख पढ़ें.

URL.hostname, port के बिना host दिखाता है.

URL URL.hostname
https://www.example.com:443/cat www.example.com
https://www.example.com:1234/cat www.example.com
https://cat.example.github.io cat.example.github.io

शुरुआत की जगह

यूआरएल स्टैंडर्ड डिफ़ाइन करता है origin. साथ ही, बैकग्राउंड के लिए एचटीएमएल स्टैंडर्ड से लिंक करता है.

एचटीटीपी या एचटीटीपीएस यूआरएल के लिए, URL.origin, स्कीम, होस्ट, और पोर्ट की वैल्यू दिखाता है. हालांकि, अगर पोर्ट स्कीम के लिए डिफ़ॉल्ट है, तो पोर्ट की वैल्यू नहीं दिखाई जाती.

URL URL.origin
https://www.example.com:443/cat https://www.example.com
https://www.example.com:1234/cat https://www.example.com:1234
https://cat.example.github.io https://cat.example.github.io

पैरामीटर

खोज के पैरामीटर देखें

पासवर्ड

उपयोगकर्ता नाम देखें.

पाथनेम

एचटीटीपी या एचटीटीपीएस यूआरएल के लिए, डोमेन और पोर्ट (अगर तय किया गया है) के बाद का हिस्सा. इसमें filename (अगर तय किया गया है) शामिल है, लेकिन खोज स्ट्रिंग या हैश शामिल नहीं है.

URL URL.pathname
https://example.com [empty string]
https://example.com:8000/search?q=tabby /search
https://example.github.io/cat/pattern#tabby /cat/pattern
https://example.github.io/README.md /README.md

कभी-कभी "पाथ" का इस्तेमाल, फ़ाइल नाम के बिना पाथनेम के लिए किया जाता है. उदाहरण के लिए, यूआरएल https://example.com/cat/pattern/tabby.html के लिए, "पाथ" /cat/pattern है.

पोर्ट

यूआरएल में : के बाद वाला नंबर, जो नेटवर्क पोर्ट की पहचान करता है. उदाहरण के लिए: यूआरएल https://example.com:1234/tabby के लिए पोर्ट नंबर 1234 है.

पोर्ट नंबर, 16-बिट का बिना हस्ताक्षर वाला पूर्णांक होना चाहिए. इसका मतलब है कि यह 0 और 65535 के बीच का कोई पूर्णांक होना चाहिए.

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

अगर पोर्ट, स्कीम के लिए डिफ़ॉल्ट है, तो एपीआई एक खाली स्ट्रिंग दिखाता है.

URL URL.port
https://example.com // empty string
https://example.com:443/foo // empty string: port is default for scheme
https://www.example.com:1234/foo 1234

प्रोटोकॉल

स्कीम के बाद : (उदाहरण के लिए, http: या https:).

protocol, यूआरएल एपीआई से उपलब्ध है, लेकिन scheme उपलब्ध नहीं है.

क्वेरी (या "क्वेरी स्ट्रिंग")

यूआरएल का search हिस्सा. इसमें शुरुआती ? शामिल नहीं है.

रजिस्टर किया जा सकने वाला डोमेन

  • एक पार्ट वाले eTLD वाले यूआरएल के लिए, जैसे कि com या org (यानी कि ऐसा eTLD जो TLD से मेल खाता हो), डोमेन और उससे पहले का सेकंड-लेवल डोमेन: उदाहरण के लिए, example.com या example.org.
  • दो हिस्सों वाले ईटीएलडी वाले यूआरएल के लिए, जहां सिर्फ़ तीसरे लेवल के रजिस्ट्रेशन की अनुमति है (यानी कि सार्वजनिक सफ़िक्स सूची में मौजूद com.au और github.io जैसी एंट्री), दो हिस्सों वाला टॉप-लेवल डोमेन ("सार्वजनिक सफ़िक्स") और उससे ठीक पहले मौजूद तीसरे लेवल का डोमेन नेम. उदाहरण के लिए: example.org.au या example.github.io.
  • तीन या उससे ज़्यादा हिस्सों वाले eTLD के लिए, eTLD और उससे पहले का डोमेन.

स्कीम

यूआरएल का वह हिस्सा (:// से पहले) जो यूआरएल के लिए अनुरोध किए जाने पर, नेटवर्क प्रोटोकॉल (या उपयोगकर्ता एजेंट की ओर से की जाने वाली कार्रवाई) के बारे में बताता है. उदाहरण के लिए, https स्कीम वाले यूआरएल के लिए अनुरोध, एचटीटीपीएस प्रोटोकॉल का इस्तेमाल करके किया जाना चाहिए. file, mailto या git जैसी स्कीम वाले यूआरएल के अनुरोध के लिए, अगर कोई नेटवर्क प्रोटोकॉल नहीं है, तो व्यवहार उपयोगकर्ता एजेंट पर निर्भर करता है. उदाहरण के लिए, जब कोई उपयोगकर्ता mailto लिंक पर क्लिक करता है, तो ज़्यादातर ब्राउज़र अपना डिफ़ॉल्ट ईमेल ऐप्लिकेशन खोलते हैं. इसके लिए, वे लिंक के href यूआरएल में मौजूद वैल्यू का इस्तेमाल करते हैं.

सवाल के निशान के बाद, की-वैल्यू पेयर की एक सीरीज़ होती है. यह पैरामीटर और उनकी वैल्यू को दिखाती है. यह pathname के बाद दी जाती है.

URL URL.search
https://example.com/cats?pattern=tabby&mood=bonkers ?pattern=tabby&mood=bonkers
https://example.com/cats:443?pattern=tabby ?pattern=tabby

query या "क्वेरी स्ट्रिंग" का मतलब, ? को छोड़कर search से है.

खोज के पैरामीटर भी देखें.

खोज के पैरामीटर

खोज स्ट्रिंग (या "क्वेरी स्ट्रिंग") में पास किए गए डेटा के किसी आइटम को रेफ़र करता है.

  • उदाहरण के लिए: https://example.com/cats?pattern=tabby&mood=bonkers के लिए, खोज स्ट्रिंग में दो पैरामीटर हैं: pattern=tabby और mood=bonkers.

सेकंड लेवल डोमेन

टॉप-लेवल डोमेन से पहले का डोमेन.

  • यूआरएल https://www.example.com के लिए, सेकंड-लेवल डोमेन example.com है. यह टॉप-लेवल डोमेन com का सबडोमेन है.

  • https://example.org.au के लिए, टॉप-लेवल डोमेन au है, सेकंड-लेवल डोमेन org है, और थर्ड-लेवल डोमेन example है. इस उदाहरण में, org.au, au का सबडोमेन है और example.org.au, org.au का सबडोमेन है.

साइट

साइट को एचटीएमएल स्टैंडर्ड के साथ-साथ एक जैसी साइट के तौर पर भी तय किया जाता है. एक जैसी साइट में स्कीम शामिल होती है. साथ ही, बिना स्कीम वाली एक जैसी साइट भी शामिल होती है.

साइट को यूआरएल स्टैंडर्ड या JavaScript यूआरएल एपीआई में तय नहीं किया गया है.

इस संदर्भ में:

  • एक पार्ट वाले eTLD वाले एचटीटीपी या एचटीटीपीएस यूआरएल के लिए, जैसे कि https://example.com, साइट में scheme, eTLD, और उससे पहले का लेबल शामिल होता है. उदाहरण के लिए: यूआरएल https://www.example.com/cat के लिए, साइट https://example.com है. (इस यूआरएल के लिए, eTLD और टॉप-लेवल डोमेन एक ही है.)
  • co.uk, github.io या sa.edu.au जैसे कई हिस्सों वाले eTLD के लिए, "साइट" में scheme, eTLD, और उससे पहले का लेबल शामिल होता है. उदाहरण के लिए: यूआरएल https://cat.example.co.uk/tabby के लिए साइट https://example.co.uk है. वहीं, https://www.education.sa.gov.au के लिए साइट https://education.sa.gov.au है.
URL साइट (स्कीम और eTLD +1 के साथ)
https://cat.example.com/tabby ("https", "example.com")
https://cat.example.co.uk/tabby ("https", "example.co.uk")

origin के उलट, साइट में port शामिल नहीं है.

सबडोमेन

किसी बड़े डोमेन के अंदर मौजूद डोमेन.

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

  • www.example.com, example.com का सबडोमेन है.
  • support.api.example.org, api.example.org का सबडोमेन है. वहीं, api.example.org, example.org का सबडोमेन है.

दो हिस्सों वाले ऐसे eTLD के लिए जहां सिर्फ़ तीसरे लेवल के रजिस्ट्रेशन की अनुमति है(यानी कि सार्वजनिक सफ़िक्स सूची में मौजूद co.uk और github.io जैसी एंट्री), सबडोमेन, डोमेन नेम के वे हिस्से होते हैं जो इससे पहले आते हैं.

  • उदाहरण के लिए: cat.example.co.uk, example.co.uk का सबडोमेन है.

टेक्स्ट फ़्रैगमेंट

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

टेक्स्ट फ़्रैगमेंट की शुरुआत :~:text= से होती है. इसके बाद, खोज के लिए डाला गया शब्द होता है.

उदाहरण के लिए, इस पेज पर "fragment" टेक्स्ट के पहले उदाहरण से लिंक करने के लिए, https://web.dev/articles/url-parts#:~:text=fragment यूआरएल का इस्तेमाल करें.

ज़्यादा जानें: टेक्स्ट फ़्रैगमेंट.

टॉप-लेवल डोमेन (टीएलडी)

रूट ज़ोन डेटाबेस में शामिल कोई डोमेन नेम, जैसे कि com या org. कुछ टॉप-लेवल डोमेन, देश के कोड के हिसाब से टॉप-लेवल डोमेन होते हैं. जैसे, uk और tv.

किसी एचटीटीपी या एचटीटीपीएस यूआरएल के हिस्सों के बारे में बताते समय, टीएलडी वह डोमेन नेम होता है जो आखिरी डॉट के बाद आता है.

  • https://example.org के लिए, यूआरएल का टॉप-लेवल डोमेन org है.
  • https://example.org.au के लिए, यूआरएल का टॉप-लेवल डोमेन au है. साथ ही, org एक सेकंड-लेवल डोमेन है. भले ही, org भी एक टॉप-लेवल डोमेन है. org.au दो हिस्सों वाला eTLD है.

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

  • https://example.com के लिए, यूआरएल का ईटीएलडी com है, जो टीएलडी भी है.

उपयोगकर्ता नाम

यूआरएल की शुरुआत में, उपयोगकर्ता नाम और पासवर्ड दिया जा सकता है. हालांकि, सुरक्षा की वजहों से इसे बंद कर दिया गया है. इसलिए, कई मामलों में इसे अनदेखा कर दिया जाएगा.

उदाहरण के लिए, https://user123:password1@example.com के साथ उपयोगकर्ता नाम user123 है. ध्यान दें कि उपयोगकर्ता नाम (और पासवर्ड!) सामान्य टेक्स्ट में होता है और इसे एन्क्रिप्ट (सुरक्षित) नहीं किया जाता. अगर उपयोगकर्ता नाम में : या @ सिंबल शामिल हैं, तो उन्हें यूआरएल के लिए कोड में बदलकर %3A और %40 में बदलना होगा.


ज़्यादा जानें