Tam olarak doğru olmasa bile çoğu zaman "Bir alan satın aldım" veya "Resimlerimiz farklı bir sitede barındırılıyor" gibi bir şey söylemekte sakınca yoktur. Ancak, bazı durumlarda daha kesin bilgi vermek gerekir. Örneğin, çerezlerle çalışırken, site ile origin arasındaki farkı anlamanız gerekir.
URL bölümlerinin adları, bir JavaScript API'sini de tanımlayan bir standartta belirtilir:
- URL standardı, mühendislerin birlikte çalışabilir web tarayıcıları oluşturabilmesi için URL'leri ve ilgili kavramları tanımlar.
- Standardın URL API bileşeni, URL dizesinin şema veya kaynak gibi bölümlerine erişim sağlama yöntemlerini tanımlar.
Bu dokümanda, HTTP veya HTTPS URL dizeleriyle kullanılan çeşitli terimler açıklanmaktadır. Dosya veya veri URL'leri gibi diğer URL türlerini kapsamaz. host
ve origin
gibi terimler için doğru tanımlar doğası gereği karmaşıktır. Bu nedenle bu dokümanda, tam açıklamalara çalışmak yerine URL standardına ilişkin örnekler ve bağlantılar sağlanmaktadır.
URL API tarafından tanımlanan URL bileşenlerinin adlarını almak için JavaScript'i kullanabilirsiniz. Örneğin:
let url = new URL('https://foo.com.au:1234/bar/foo.html#bar');
console.log(url);
URL analiz aracı
URL dizesinin bölümlerinin nasıl adlandırıldığını görmek için aşağıdaki URL'yi düzenleyin. Bunu, url-parts.glitch.me adresindeki ayrı bir sekmede de açabilirsiniz.
URL bölümlerinin adları alfabetik olarak aşağıda listelenmiştir.
Ülke kodu üst düzey alanı (ccTLD)
ISO 3166-1 Ülke Kodları listesinde tanımlanan üst düzey alan adı.
Alan adı
HTTP veya HTTPS URL'sinin noktalarla ayrılmış bölümleri: şemadan sonra ancak yol veya bağlantı noktasından (belirtilmişse) önce gelen her şey. Alan adının her bir kısmı etiket olarak bilinir.
URL | Alan adı |
---|---|
https://example.github.io/path | example.github.io |
https://support.example.org.au:443 | support.example.org.au |
Etkili üst düzey alan (eTLD)
Bir TLD'yi ve(birden çok parçaya sahip eTLD'ler için) ikinci düzey, üçüncü düzey bunun altındaki ek alanları içeren Genel Son Ek Listesi'ndeki bir giriş.
- Örneğin:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Buradaki örneklerde olduğu gibi "genel son ek", alanların kaydedilebileceği bir addır. Genel Son Ek Listesi, bilinen tüm genel son eklerin bir listesidir ve sık sık güncellenir. Chromium ve Firefox gibi tarayıcılar, bu listeyi yapılarında kullanır.
eTLD+1
Kaydedilebilir alan başlıklı makaleyi inceleyin.
Bir eTLD ve öncesinde bulunan alt alan.
- Örneğin:
example.com
,example.org.au
,example.github.io
,example.sa.edu.au
,example.schools.nsw.edu.au
.
Dosya Adı
URL standardında tanımlı değildir ve URL API'sinin bir parçası değildir. Ancak yaygın olarak, URL'nin doğrudan bir dizin yapısıyla eşlendiği varsayımına dayanarak URL'nin yol olmayan nihai bir parçasını belirtmek için kullanılır.
Örneğin, https://example.com/dir/file.html
için file.html
, dosya adı olarak anılabilir.
Dosya adı değeri, tarayıcılar tarafından indirilen bir öğeyi adlandırmak için de kullanılır.
Örneğin https://example.com/images/image.jpg
, genellikle yerel olarak image.jpg
konumuna kaydedilir.
Parça
Parça tanımlayıcısı sağlayan URL'nin sonunda # karakteri izleyen bir dize.
- Örneğin,
https://example.com/cats#tabby
URL'sinintabby
parça tanımlayıcı değeri vardır.
#
öğesinin yer aldığı bölüm, karma oluşturma veya anchor etiketi olarak bilinir.
Ayrıca, bir metin parçasına bağlantı verebilir ve bunu vurgulayabilirsiniz.
Karma, parça yerine URL API'sı tarafından döndürülür.
Tam nitelikli alan adı (FQDN)
IP adresine eşlenen, bir web sitesi veya sunucu için tam adres.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
Bir URL'nin FQDN'si, varsayılan olmayan bir bağlantı noktası kullanılsa bile bağlantı noktasını içermez.
Karma (veya bağlayıcı)
Parça tanımlayıcısı sağlayan URL'nin sonunda # karakteri izleyen bir dize.(Bazı bağlamlarda bu, "bağlantı" olarak adlandırılır.)
#
öğesini hariç tutan kısım, parça olarak bilinir.
Ayrıca, bir metin parçasına bağlantı verebilir ve bunu vurgulayabilirsiniz.
Karma, parça yerine URL API'sı tarafından döndürülür.
Düzenleyen
URL standardında tanımlandığı gibi, ana makine bir alan adı, IP v4 adresi, IPv6 adresi, opak ana makine veya boş ana makine olabilir.
- URL standardının
host
tanımı bağlantı noktasını içermez. - Bağlantı noktası, şema için varsayılan değilse
URL.host
bağlantı noktasını içerir. URL.hostname
bağlantı noktasını içermez.
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 |
Ana makine adı
Ana makine adı, JavaScript URL
API tarafından tanımlanır ancak URL standardı tarafından başka yerde tanımlanmaz. Daha fazla bilgi için düzenleyen temsili bölümünü inceleyin.
URL.hostname
, ana makineyi bağlantı noktası olmadan döndürür.
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 |
Köken
URL standardı origin
öğesini tanımlar ve arka plan için HTML standardına bağlantı verir.
HTTP veya HTTPS URL'leri için URL.origin
, şema, ana makine ve bağlantı noktasını döndürür (şema için varsayılan bağlantı noktası değilse).
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 |
Parametre
Arama parametreleri konusuna bakın
Şifre
Kullanıcı adı bölümüne bakın.
Yol adı
HTTP veya HTTPS URL'sinde, dosya adı (tanımlanmışsa) dahil ancak arama dizesi veya karma dahil olmak üzere alan ve bağlantı noktasından sonraki kısım (tanımlanmışsa).
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 |
"Yol" bazen dosya adı olmadan yol adını belirtir. Örneğin, https://example.com/cat/pattern/tabby.html
URL'si için "yol" /cat/pattern
şeklindedir.
Bağlantı noktası
Ağ bağlantı noktasını tanımlayan bir URL'de :
işaretinden sonra gelen sayı. Örneğin, https://example.com:1234/tabby
URL'si için bağlantı noktası numarası 1234'tür.
Bağlantı noktası numarası 16 bitlik imzalanmamış bir tam sayı, başka bir deyişle 0 ile 65.535 arasında (0 ve 65.535 dahil) bir tam sayı olmalıdır.
HTTP URL'leri için varsayılan bağlantı noktası 80, HTTPS için varsayılan değer 443'tür. Varsayılan olmayan bir bağlantı noktası kullanılmadıkça URL'nin bağlantı noktası numarasını belirtmesi gerekmez.
Şema için varsayılan bağlantı noktasıysa API boş bir dize döndürür.
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 |
Protokol
Ardından :
olan şema (örneğin http:
veya https:
).
protocol
, URL API'sinde kullanılabiliyor, ancak scheme
kullanılamıyor.
Sorgu (veya "sorgu dizesi")
Baştaki ?
hariç, URL'nin search kısmı.
Kaydedilebilir alan
com
veyaorg
gibi tek parçalı bir eTLD (TLD'ye karşılık gelen eTLD) olan bir URL (TLD'ye karşılık gelen eTLD) için alan ve kendisinden önce gelen ikinci düzey alan: Örneğin,example.com
veyaexample.org
.- Yalnızca üçüncü düzey kayda izin verilen iki bölümlü eTLD'ye sahip bir URL (ör. Genel Son Ek Listesi'ndeki
com.au
vegithub.io
gibi girişler) için iki bölümlü üst düzey alan ("genel sonek") ve bundan hemen önceki üçüncü düzey alan adı. Örneğin,example.org.au
veyaexample.github.io
. - Üç veya daha fazla parçalı eTLD'ler için eTLD ve bundan önceki alan adı.
Şema
Bir URL'ye istek yapıldığında ağ protokolünü (veya kullanıcı aracısı tarafından gerçekleştirilen işlemi) tanımlayan URL bölümü (://
öncesinde). Örneğin, https
şemasına sahip bir URL'ye yapılan istek HTTPS protokolü kullanılarak yapılmalıdır. Bir ağ protokolüne karşılık gelmeyen file
, mailto
veya git
gibi bir şemaya sahip URL'ye yapılan istekler için davranış kullanıcı aracısına bağlıdır. Örneğin, bir kullanıcı mailto
bağlantısını tıkladığında, çoğu tarayıcı bağlantının href
URL'sindeki değerleri kullanarak varsayılan e-posta uygulamasını açar.
Arama
Bir soru işareti ve ardından yol adı'ndan sonra sağlanan, parametreleri ve değerlerini temsil eden bir dizi anahtar/değer çifti.
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
veya "sorgu dizesi", başında ?
olmadan search
belirtir.
Ayrıca bkz. Arama parametreleri.
Arama parametreleri
Bir arama dizesinde (veya "sorgu dizesi") iletilen bir veri öğesine bakın.
- Örneğin,
https://example.com/cats?pattern=tabby&mood=bonkers
için arama dizesinde iki parametre bulunur:pattern=tabby
vemood=bonkers
.
İkinci düzey alan
Üst düzey alandan önceki alan.
https://www.example.com
URL'si için ikinci düzey alan,com
üst düzey alanının bir alt alan adı olanexample.com
'dir.https://example.org.au
için üst düzey alanau
, ikinci düzey alanorg
ve üçüncü düzey alanexample
'dir. Bu örnekteorg.au
,au
adlı alanın alt alanı;example.org.au
iseorg.au
alanının alt alanıdır.
Site
Site, HTML standardı ile birlikte aynı site ile tanımlanır. Bu site, şema içerir ve schemeless same-site'yi içerir.
Site, URL standardında veya JavaScript URL API'sinde tanımlı değil.
Bu bağlamda:
https://example.com
gibi tek parçalı bir eTLD'ye sahip HTTP veya HTTPS URL'leri için site;scheme
, eTLD ve ondan önceki etiket içerir. Örneğin,https://www.example.com/cat
URL'si için sitehttps://example.com
şeklindedir. (Bu URL için eTLD, üst düzey alan ile aynıdır.)co.uk
,github.io
veyasa.edu.au
gibi çok parçalı eTLD'ler için "site";scheme
, eTLD ve öncesinde bulunan etiketten oluşur. Örneğin,https://cat.example.co.uk/tabby
URL'si için sitehttps://example.co.uk
,https://www.education.sa.gov.au
için sitehttps://education.sa.gov.au
şeklindedir.
URL | Site (şema ve eTLD +1'li) |
---|---|
https://cat.example.com/tabby | ("https", "example.com") |
https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
origin'in aksine site bağlantı noktasını içermez.
Alt alan adı
Daha üst düzey bir alanda bulunan bir alan.
com
veya org
gibi tek parçalı üst düzey alanlara sahip siteler için üst düzey alandan önce her biri nokta ile ayrılmış bölümler.
www.example.com
,example.com
alan adının bir alt alan adıdır.support.api.example.org
,example.org
alanının alt alanı olanapi.example.org
alanının alt alanıdır.
Yalnızca üçüncü düzey kayıtlara izin verilen iki bölümlü eTLD'ler için(ör. Genel Son Ek Listesi'ndeki co.uk
ve github.io
gibi girişler) alt alanlar, alan adının bundan önceki kısımlarıdır.
- Örneğin
cat.example.co.uk
,example.co.uk
adlı işletmenin alt alan adıdır.
Metin parçası
Bir sayfa içindeki belirli bir metin aralığına bağlantı vermeyi ve vurgulamayı mümkün kılan bir parça türü. Kullanıcı metin parçası olan bir bağlantıyı takip ettiğinde, tarayıcı sayfadaki metni bulmaya, kaydırmaya ve metni vurgulamaya çalışır.
Bir metin parçası :~:text=
ile başlar ve ardından arama terimi gelir.
Örneğin, bu sayfada "parça" metninin ilk geçtiği yere bağlantı vermek için https://web.dev/articles/url-parts#:~:text=fragment
URL'sini kullanın.
Daha fazla bilgi edinin: Metin parçaları.
Üst düzey alan (TLD)
Kök Bölge Veritabanı'nda listelenen com
veya org
gibi bir alan adı. Bazı üst düzey alanlar, uk
ve tv
gibi ülke kodu üst düzey alanlarıdır.
HTTP veya HTTPS URL'lerinin bölümlerini açıklarken TLD, son noktayı takip eden alan adıdır.
https://example.org
için URL'nin üst düzey alanıorg
şeklindedir.https://example.org.au
için URL'nin üst düzey alanıau
'dir veorg
ikinci düzey bir alan adıdır (org
aynı zamanda üst düzey bir alan olsa da).org.au
, iki bölümden oluşan bir eTLD'dir.
eTLD'lerin Genel Son Ek Listesi bir, iki veya daha fazla parçalı alanları içerir. Bu nedenle TLD bir eTLD olabilir. Örneğin:
https://example.com
için URL'nin eTLD'sicom
olup aynı zamanda bir TLD'dir.
Kullanıcı adı
URL'nin başında isteğe bağlı bir kullanıcı adı ve şifre sağlanabilir, ancak bu, güvenlik nedeniyle kullanımdan kaldırılmıştır ve çoğu durumda yoksayılacaktır.
Örneğin, https://user123:password1@example.com
için kullanıcı adı
user123
olur. Kullanıcı adının (ve şifrenin!) düz metin olduğunu ve şifrelenmediğini unutmayın.
Kullanıcı adı :
veya @
sembolleri içeriyorsa bunların URL'si sırasıyla %3A
ve %40
olarak kodlanmalıdır.
Daha fazla bilgi
- WhatWG: URL Yaşam Standardı
- WhatWG: HTML Yaşam Standardı
- URL API'sı
- "Aynı site" ve "aynı-kaynak"ı anlama
- RFC: Birörnek Kaynak Konumlandırıcılar (URL)
- RFC: URI'lar, URL'ler ve URN'ler
- Root Zone Database (TLD'ler dizini)
- Genel Son Ek Listesi (eTLDs dizini: "Genel son ek, noktalarla birleştirilmiş bir DNS adları veya joker karakterler grubudur. Alan adının bağımsız kaydedenin kontrolünde olmayan bölümünü temsil eder.")
- ICANN sözlüğü
- Tam Alan Adı nedir?
- Bir URL'yi kaç şekilde dilimlere ayırabilir ve parçaları adlandırabilirsiniz?
- MDN Web Dokümanları Sözlüğü
- URL nedir?
- URL'nin Geçmişi