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

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

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

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

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

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

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

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

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


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

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

ISO 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

असरदार टॉप लेवल डोमेन (eTLD)

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

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

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

eTLD+1

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

ईटीएलडी और उससे पहले का सबडोमेन.

  • उदाहरण के लिए: 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

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

हैश (या ऐंकर)

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

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

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

होस्ट

यूआरएल स्टैंडर्ड के मुताबिक, होस्ट डोमेन नेम, आईपी 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, पोर्ट के बिना होस्ट दिखाता है.

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

पैरामीटर

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

पासवर्ड

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

पाथ का नाम

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

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 हिस्सा, जिसमें शुरुआती ? शामिल नहीं है.

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

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

स्कीम

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

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

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 को ? के बिना दिखाती है.

सर्च पैरामीटर भी देखें.

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 यूआरएल एपीआई में नहीं बताया गया है.

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

  • https://example.com जैसे एक-पार्ट वाले ईटीएलडी वाले एचटीटीपी या एचटीटीपीएस यूआरएल के लिए, साइट में scheme, ईटीएलडी, और उसके पहले लेबल शामिल होता है. उदाहरण के लिए: यूआरएल https://www.example.com/cat के लिए, साइट https://example.com है. (इस यूआरएल के लिए, ईटीएलडी और टॉप लेवल डोमेन एक ही है.)
  • 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 का सबडोमेन है, जो example.org का सबडोमेन है.

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

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

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

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

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

उदाहरण के लिए, इस पेज पर "फ़्रैगमेंट" टेक्स्ट के पहली बार दिखने पर लिंक करने के लिए, यूआरएल 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 किया जाना चाहिए.


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