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

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

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

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

यह दस्तावेज़, एचटीटीपी या एचटीटीपीएस यूआरएल स्ट्रिंग के साथ इस्तेमाल किए जाने वाले कई शब्दों के बारे में बताता है. इसमें दूसरे टाइप के यूआरएल शामिल नहीं हैं, जैसे कि फ़ाइल या डेटा यूआरएल. 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 है.

डोमेन नाम

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

यूआरएल डोमेन नाम
https://example.github.io/path example.github.io
https://support.example.org.au:443 support.example.org.au

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

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

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

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

ईटीएलडी+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 है.

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

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

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

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

यूआरएल FQDN
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.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.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.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.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.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 को URL API से उपलब्ध कराया गया है, लेकिन scheme नहीं.

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

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

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

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

स्कीम

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

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

यूआरएल 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, ईटीएलडी, और लेबल शामिल होते हैं. उदाहरण के लिए: यूआरएल 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 है.
यूआरएल साइट (स्कीम और eTLD +1 के साथ)
https://cat.example.com/tabby ("https", "example.com")
https://cat.example.co.uk/tabby ("https", "example.co.uk")

ऑरिजिन के उलट, साइट में पोर्ट शामिल नहीं होता.

सबडोमेन

यह हाई-लेवल डोमेन में मौजूद डोमेन है.

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 की पब्लिक सफ़िक्स सूची में एक, दो या उससे ज़्यादा हिस्से वाले डोमेन शामिल होते हैं. इसलिए, टीएलडी एक ईटीएलडी भी हो सकता है. उदाहरण के लिए:

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

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

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

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


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