ज़्यादातर मामलों में, "मैंने एक डोमेन खरीदा है" या "हमारी इमेज किसी दूसरी साइट पर होस्ट की गई हैं" जैसी चीज़ें कहना सही है, भले ही ऐसा पूरी तरह से सही न हो. हालांकि, कुछ मामलों में, ज़्यादा सटीक होना ज़रूरी होता है. उदाहरण के लिए, कुकी का इस्तेमाल करते समय, आपको साइट और ऑरिजिन के बीच के अंतर को समझना होगा.
यूआरएल के हिस्सों के नाम एक स्टैंडर्ड में बताए जाते हैं, जो 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.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
से कोड में बदलना होगा.
ज़्यादा जानें
- whatWG: यूआरएल लिविंग स्टैंडर्ड
- WhatWG: एचटीएमएल लिविंग स्टैंडर्ड
- यूआरएल एपीआई
- "same-site" और "same-origin" को समझना
- आरएफ़सी: यूनिफ़ॉर्म रिसॉर्स लोकेटर (यूआरएल)
- आरएफ़सी: यूआरआई, यूआरएल, और यूआरएन
- रूट ज़ोन डेटाबेस (TLD की डायरेक्ट्री)
- पब्लिक सफ़िक्स लिस्ट (eTLDs की डायरेक्ट्री: "सार्वजनिक सफ़िक्स, डीएनएस नामों या वाइल्डकार्ड का एक सेट होता है, जिन्हें कई बिंदुओं से जोड़ा जाता है. यह डोमेन नेम का वह हिस्सा होता है जो किसी रजिस्ट्रेंट के कंट्रोल में नहीं होता है.")
- आईसीएएनएन शब्दावली
- पूरी तरह क्वालिफ़ाइड डोमेन नेम क्या होता है?
- किसी यूआरएल को कितने तरीकों से स्लाइस किया जा सकता है और उसे नाम दिए जा सकते हैं?
- MDN वेब दस्तावेज़ की शब्दावली
- यूआरएल क्या होता है?
- यूआरएल का इतिहास