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