Genellikle, doğru olmasa bile "Bir alan satın aldım" veya "Resimlerimiz farklı bir sitede barındırılıyor" gibi ifadelerde bulunmak sorun teşkil etmez. Ancak bazı bağlamlarda daha net olmak gerekir. Örneğin, çerezlerle çalışırken site ile köken arasındaki farkı anlamanız gerekir.
URL bölümlerinin adları, JavaScript API'yi de tanımlayan bir standartta belirtilir:
- URL standardı, mühendislerin birlikte çalışabilir web tarayıcıları oluşturmasını sağlamak için URL'leri ve ilgili kavramları tanımlar.
- Standartın URL API bileşeni, bir URL dizesinin şema veya kaynak gibi bölümlerine erişim sağlama yöntemlerini tanımlar.
Bu belgede, 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 terimlerin doğru tanımları doğası gereği karmaşık olduğundan bu dokümanda, tam açıklamalar yapmaya çalışmak yerine URL standardıyla ilgili örnekler ve bağlantılar sağlanmıştır.
URL API tarafından tanımlanan URL bileşenlerinin adlarını almak için JavaScript 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. Bu sayfayı url-parts.glitch.me adresinde ayrı bir sekmede de açabilirsiniz.
URL bölümlerinin adları aşağıda alfabetik olarak listelenmiştir.
Ülke kodu üst düzey alanı (ccTLD)
ISO 3166-1 Ülke Kodları listesinde tanımlanan bir üst düzey alan.
Alan adı
HTTP veya HTTPS URL'sinin noktayla ayrılmış bölümleri: Dizi'den sonra yol veya port (belirtilmişse) öncesindeki 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)
Herkese Açık Sonek Listesi'ndeki bir giriş. Bu girişte bir TLD ve (birden fazla bölüme sahip eTLD'ler için) bunun altındaki ek alanlar (ikinci düzey, üçüncü düzey vb.) bulunur.
- Örneğin:
com
,com.au
,github.io
,sa.edu.au
,schools.nsw.edu.au
.
Bu örneklerdeki gibi "herkese açık son ek", alanların kaydedilebileceği bir addır. Herkese açık son ek listesi, bilinen tüm herkese açık son eklerin yer aldığı ve sık sık güncellenen bir listetir. Chromium ve Firefox dahil olmak üzere tarayıcılar, derlemelerinde bu listeyi kullanır.
eTLD+1
Kaydedilebilir alan başlıklı makaleyi inceleyin.
Bir eTLD ve ondan önce gelen 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ımlanmaz ve URL API'nin bir parçası değildir ancak URL'nin doğrudan bir dizin yapısıyla eşlendiği (genellikle yanlış) varsayımına dayanarak URL'nin yol olmayan son bölümünü belirtmek için yaygın olarak kullanılır.
Örneğin, https://example.com/dir/file.html
kullanıldığında dosya adı file.html
olarak anılabilir.
Dosya adı değeri, indirilen bir öğeyi adlandırmak için tarayıcılar tarafından da kullanılır.
Örneğin, https://example.com/images/image.jpg
genellikle yerel olarak image.jpg
'e kaydedilir.
Parça
URL'nin sonundaki # karakterinden sonra gelen ve parça tanımlayıcı sağlayan bir dize.
- Örneğin:
https://example.com/cats#tabby
URL'sinin parça tanımlayıcı değeritabby
şeklindedir.
#
öğesinin yer aldığı kısım, karma veya bağlayıcı olarak bilinir.
Ayrıca bir metin parçasına bağlantı verebilir ve metni vurgulayabilirsiniz.
Karma oluşturma işlemi, URL API tarafından parça yerine döndürülür.
Tam nitelikli alan adı (FQDN)
Bir web sitesi veya sunucunun, IP adresiyle eşleşen tam adresi.
URL | FQDN |
---|---|
https://example.com:1234/cats | example.com |
https://api.example.github.io | api.example.github.io |
Varsayılan olmayan bir bağlantı noktası kullanılsa bile bir URL'nin tam alan adı, bağlantı noktasını içermez.
Karma (veya bağlayıcı)
URL'nin sonundaki # karakterinden sonra gelen ve parça tanımlayıcısı sağlayan bir dize. (Bazı bağlamlarda bu dize "sabitleyici" olarak adlandırılır.)
#
öğesini hariç tutan parça, parça olarak bilinir.
Ayrıca bir metin parçasına bağlantı verebilir ve bu parçayı vurgulayabilirsiniz.
Karma, parça yerine URL API tarafından döndürülür.
Ana makine
URL standardında tanımlandığı gibi, ana makine 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. URL.host
, bağlantı noktası şema için varsayılan bağlantı noktası olmadığı sürece 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'si tarafından tanımlanır ancak URL standardı tarafından başka bir yerde tanımlanmaz. Daha fazla bilgi için barındırıcı temsili bölümüne bakın.
URL.hostname
, port olmadan ana makineyi 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
değerini 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 (bağlantı noktası ş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 bölümüne bakın.
Şifre
Kullanıcı adı bölümüne bakın.
Yol adı
HTTP veya HTTPS URL'si için alan adından ve bağlantı noktasından (tanımlanmışsa) sonraki kısımdır. Dosya adı (tanımlanmışsa) dahildir ancak arama dizesi veya karma dahil değildir.
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ı belirtmek için kullanılır. Örneğin, https://example.com/cat/pattern/tabby.html
URL'si için "yol" /cat/pattern
şeklindedir.
Bağlantı noktası
URL'de, ağ bağlantı noktasını tanımlayan :
karakterinden 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 işaretsiz bir tam sayı olmalıdır. Diğer bir deyişle, 0 ile 65.535 arasında (ikisi de dahil) bir tam sayı olmalıdır.
HTTP URL'leri için varsayılan bağlantı noktası 80, HTTPS URL'leri için ise varsayılan bağlantı noktası 443'tür. Varsayılan olmayan bir bağlantı noktası kullanılmadığı sürece URL'nin bağlantı noktası numarasını belirtmesi gerekmez.
Bağlantı noktası, şema için varsayılan değerse 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
Scheme'in ardından :
(ör. http:
veya https:
) gelir.
protocol
, URL API'sinden kullanılabilir ancak scheme
kullanılamaz.
Sorgu (veya "sorgu dizesi")
URL'nin arama kısmı (baştaki ?
hariç).
Kaydedilebilen alan
com
veyaorg
gibi tek bölümlü bir eTLD'ye (yani TLD'ye karşılık gelen bir eTLD) sahip bir URL için alan ve ondan önceki ikinci düzey alan adı: ö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) iki bölümden oluşan üst düzey alan ("herkese açık son ek") ve bundan hemen önceki üçüncü düzey alan adı için. Örneğin:example.org.au
veyaexample.github.io
. - Üç veya daha fazla bölümden oluşan eTLD'ler için eTLD ve ondan önceki alan.
Şema
Bir URL'ye istek gönderildiğinde ağ protokolünü (veya kullanıcı aracısı tarafından yapılacak işlemi) tanımlayan URL bölümü (://
'den önce). Örneğin, https
şemasına sahip bir URL'ye istek, HTTPS protokolü kullanılarak gönderilmelidir. file
, mailto
veya git
gibi bir şemaya sahip ve bir ağ protokolüne karşılık gelmeyen bir URL'ye yapılan isteklerde 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
Yol adı'ndan sonra soru işareti ve ardından 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şındaki ?
olmadan search
değerini ifade eder.
Arama parametreleri başlıklı makaleyi de inceleyin.
Arama parametreleri
Arama dizesinde (veya "sorgu dizesinde") iletilen bir veri öğesine referans verir.
- Ö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 alan adından önceki alan.
https://www.example.com
URL'si için ikinci düzey alan,com
adlı üst düzey alanın alt alanı olanexample.com
öğesidir.https://example.org.au
için üst düzey alanau
, ikinci düzey alanorg
ve üçüncü düzey alanexample
şeklindedir. Bu örnekteorg.au
,au
'un alt alanıdır veexample.org.au
,org.au
'ün alt alanıdır.
Site
Site, HTML standardı tarafından tanımlanır. Bu standarda şema içeren aynı site ve şema içermeyen aynı site de dahildir.
Site, URL standardında veya JavaScript URL API'sinde tanımlanmamıştır.
Bu bağlamda:
https://example.com
gibi tek bölümlü bir eTLD içeren HTTP veya HTTPS URL'sinde site,scheme
, eTLD ve bu öğelerden önce gelen etiket ile oluşur. Örneğin:https://www.example.com/cat
URL'si için sitehttps://example.com
'dur. (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 bu öğelerden önceki etiket'ten oluşur. Örneğin:https://cat.example.co.uk/tabby
URL'si için sitehttps://example.co.uk
,https://www.education.sa.gov.au
URL'si için isehttps://education.sa.gov.au
'dır.
URL | Site (şema ve eTLD +1 ile) |
---|---|
https://cat.example.com/tabby | ("https", "example.com") |
https://cat.example.co.uk/tabby | ("https", "example.co.uk") |
origin parametresinin aksine site, port parametresini içermez.
Alt alan adı
Üst düzey bir alan adı içindeki alan.
com
veya org
gibi tek bölümlü üst düzey alanlara sahip siteler için, her biri bir noktayla ayrılmış olan üst düzey alandan önceki bölümler.
www.example.com
,example.com
alanının alt alan adıdır.support.api.example.org
,example.org
'nin alt alan adı olanapi.example.org
'nin alt alan adıdır.
Yalnızca üçüncü düzey kayıtlara izin verilen iki bölümlü eTLD'lerde (ör. Herkese Açık Sonek Listesi'ndeki co.uk
ve github.io
gibi girişler) alt alan adları, alan adının bu bölümden önceki kısımlarını oluşturur.
- Örneğin:
cat.example.co.uk
,example.co.uk
'un alt alan adıdır.
Metin parçası
Bir sayfadaki metin aralığını bağlantıyla belirtmenizi ve vurgulamanızı sağlayan bir parça türü. Kullanıcı, metin parçası içeren bir bağlantıyı izlediğinde tarayıcı, sayfadaki metni bulup kaydırmaya ve vurgulamaya çalışır.
Metin parçaları :~:text=
ile başlar ve arama terimi ile devam eder.
Örneğin, bu sayfada "fragment" metninin ilk bulunduğu 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 bir alan adı (ör. com
veya org
). Bazı üst düzey alanlar, uk
ve tv
gibi ülke kodu üst düzey alanlarıdır.
TLD, bir HTTP veya HTTPS URL'sinin bölümlerini açıklarken son noktadan sonra gelen alan adıdır.
https://example.org
için URL'nin üst düzey alanıorg
'dur.https://example.org.au
için URL'nin üst düzey alanıau
,org
ise ikinci düzey alan'dır (org
de üst düzey alan olmasına rağmen).org.au
, iki bölümden oluşan bir eTLD'dir.
eTLD'lerin Genel Sonek Listesi, bir, iki veya daha fazla bölümden oluşan alanları içerir. Bu nedenle, TLD'ler de eTLD olabilir. Örneğin:
https://example.com
için URL'nin eTLD'si, aynı zamanda bir TLD olancom
.
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 şifrenizin) şifrelenmemiş, düz metin olarak gönderildiğini unutmayın.
Kullanıcı adı :
veya @
simgeleri içeriyorsa bu simgeler sırasıyla %3A
ve %40
olarak URL ile kodlanmalıdır.
Daha fazla bilgi
- WHATWG: URL Living Standard
- WHATWG: HTML Living Standard
- URL API'si
- "Aynı site" ve "aynı kaynak" terimlerini anlama
- RFC: Uniform Resource Locators (URL)
- RFC: URI'ler, URL'ler ve URN'ler
- Kök Bölge Veritabanı (TLD dizini)
- Herkese Açık Sonek Listesi (eTLD'lerin dizini: "Herkese açık sonek, noktayla birleştirilmiş bir dizi DNS adı veya joker karakterdir. Bir alan adının, kayıtlı kullanıcının kontrolü altında olmayan kısmını temsil eder.")
- ICANN sözlüğü
- Tam nitelikli alan adı nedir?
- Bir URL'yi kaç şekilde dilimleyebilir ve parçaları adlandırabilirsiniz?
- MDN Web Dokümanları Terimler Sözlüğü
- URL nedir?
- URL'nin Geçmişi