URL bölümleri nelerdir?

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ı, bir JavaScript API'sini 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çıklamalara yer verilmek yerine URL standardıyla ilgili örnekler ve bağlantılar sağlanmıştır.

URL API'si 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. 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.

  • https://example.org.au için ccTLD au.
  • https://example.io için ccTLD io.

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 bölümüne etiket denir.

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

Kayıtlanabilir alan başlıklı makaleyi inceleyin.

Bir eTLD ve ondan önce gelen alt alan adı.

  • Ö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 ile file.html dosya adı olarak adlandırı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 dize.

  • Örneğin: https://example.com/cats#tabby URL'sinin parça tanımlayıcısı değeri tabby'tür.

# içeren bölüme karma veya ankraj denir. Ayrıca bir metin parçasına bağlantı verebilir ve bu parçayı 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 dizeye "sabitleyici" denir.)

# hariç tutulan kısım parça olarak bilinir. Ayrıca bir metin parçasına bağlantı verebilir ve bu parçayı vurgulayabilirsiniz.

Karma oluşturma işlemi, URL API tarafından parça yerine 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'yi 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. filename (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'sinde "yol" /cat/pattern olur.

Bağlantı noktası

URL'de :'den sonra gelen ve ağ bağlantı noktasını tanımlayan 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'de bağlantı noktası numarasının belirtilmesi gerekmez.

Bağlantı noktası şema için varsayılansa 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")

Baştaki ? hariç URL'nin arama kısmı.

Kaydedilebilen alan

  • com veya org 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 veya example.org.
  • Yalnızca üçüncü düzey kayıta izin verilen iki bölümlü bir eTLD'ye sahip URL'ler (ör. com.au ve github.io gibi Genel Son Ek Listesi'ndeki girişler) için iki bölümlü üst düzey alan adı ("herkese açık son ek") ve hemen öncesindeki üçüncü düzey alan adı. Örneğin: example.org.au veya example.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.

pathname'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 dizesi (veya "sorgu dizesi") ile 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 ve mood=bonkers.

İkinci düzey alan

Üst düzey alan adından önceki alan.

  • https://www.example.com URL'sinde ikinci düzey alan example.com'dir. Bu alan, com üst düzey alanının alt alan adıdır.

  • https://example.org.au için üst düzey alan au, ikinci düzey alan org ve üçüncü düzey alan example'tır. Bu örnekte org.au, au'un alt alanıdır ve example.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 site https://example.com'dur. (Bu URL için eTLD, üst düzey alan ile aynıdır.)
  • co.uk, github.io veya sa.edu.au gibi çok parçalı eTLD'ler için "site", scheme, eTLD ve bu öğeden önceki etiket'ten oluşur. Örneğin: https://cat.example.co.uk/tabby URL'si için site https://example.co.uk, https://www.education.sa.gov.au URL'si için ise https://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'un alt alanıdır.
  • support.api.example.org, example.org'nin alt alan adı olan api.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 işaretlemenizi 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çası, :~:text= ile başlar ve ardından arama terimi gelir.

Ö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: 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.

Bir HTTP veya HTTPS URL'sinin bölümleri açıklanırken TLD, son noktayı izleyen 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 com'dir. Bu, 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 güvenlik nedeniyle bu yöntemin desteği sonlandırılmıştır ve çoğu durumda yoksayılı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