URL bölümleri nelerdir?

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ı.

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

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'sinin tabby 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 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 veya org 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 ve github.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 veya example.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.

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 ve mood=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ı olan example.com'dir.

  • https://example.org.au için üst düzey alan au, ikinci düzey alan org ve üçüncü düzey alan example'dir. Bu örnekte org.au, au adlı alanın alt alanı; example.org.au ise org.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 site https://example.com şeklindedir. (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 öncesinde bulunan etiketten 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 için site https://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ı olan api.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 ve org 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'si com 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