BurtiNETBlog
Teknoloji

URL ile URI Arasındaki Fark Nedir? Örneklerle Açıklama

bnet5 dk okuma
URL ile URI Arasındaki Fark Nedir? Örneklerle Açıklama
İçindekiler

Web ile ilgili yazılarda hem "URL" hem "URI" geçer ve çoğu kişi bu ikisini birbirinin yerine kullanır. Günlük konuşmada bu büyük bir sorun yaratmaz; ama web geliştirme, SEO ya da API tasarımı yapıyorsanız farkı bilmek yazdığınız dokümantasyonu ve kodu daha doğru kılar. Kısa cevap şudur: her URL bir URI'dir, ama her URI bir URL değildir. Bu rehberde farkı örneklerle, tablolarla ve pratik kullanım alanlarıyla açıklıyoruz.

URI Nedir?

URI (Uniform Resource Identifier, Tekdüzen Kaynak Tanımlayıcı), internette ya da herhangi bir sistemde bir kaynağı benzersiz biçimde tanımlayan karakter dizisidir. Standardı RFC 3986 belgesinde tanımlanmıştır. URI, kaynağın bir web sayfası, bir görsel, bir e-posta adresi, bir kitap ya da soyut bir kavram olması fark etmeksizin ona bir "isim" verir.

URI'nin tek şartı tanımlayıcı olmasıdır; kaynağa nasıl ulaşılacağını söylemek zorunda değildir. Bu yüzden https://blog.burtinet.com/ da, mailto:info@burtinet.com da, urn:isbn:9780141036144 da birer URI'dir.

URL Nedir?

URL (Uniform Resource Locator, Tekdüzen Kaynak Konumlayıcı), bir kaynağın internette nerede bulunduğunu ve ona hangi yöntemle (protokolle) erişileceğini belirten URI türüdür. Yani URL hem "bu kaynak kim?" hem de "ona nereden ulaşırım?" sorusuna cevap verir. Tarayıcı adres çubuğuna yazdığınız her adres bir URL'dir.

Örneğin https://blog.burtinet.com/subdomain-nedir/ adresi, https protokolüyle blog.burtinet.com sunucusundaki /subdomain-nedir/ yoluna gidilmesini söyler. Bu yüzden hem URI hem URL'dir.

Masada açık dizüstü bilgisayar ve harici monitör: tarayıcı adres çubuğuna yazılan URL ile web sayfasına ulaşılır
Tarayıcının adres çubuğuna yazdığınız adres bir URL'dir; aynı zamanda bir URI'dir · Fotoğraf: Taduuda / CC0 / Wikimedia Commons

URL, URI ve URN Arasındaki İlişki

URI, bir şemsiye terimdir; URL ve URN onun iki alt türüdür. URN (Uniform Resource Name), bir kaynağı konumundan bağımsız, kalıcı bir isimle tanımlar. Örneğin bir kitabın ISBN numarası, kitap hangi rafta ya da hangi mağazada olursa olsun aynı kalır.

TerimAçılımıNe Tanımlar?Örnek
URIUniform Resource IdentifierKaynağı tanımlar (üst kavram)urn:isbn:9780141036144
URLUniform Resource LocatorKaynağın konumunu ve erişim yöntemini verirhttps://blog.burtinet.com/
URNUniform Resource NameKaynağı konumdan bağımsız, kalıcı adla tanımlarurn:isbn:9780141036144

URL ile URI Arasındaki Farkı Gösteren Örnekler

Bir adresin yalnızca URI mi yoksa aynı zamanda URL mi olduğunu anlamak için kendinize şunu sorun: "Bu adres bana kaynağa nasıl ulaşacağımı söylüyor mu?" Cevap evetse URL'dir.

AdresURI mi?URL mi?Açıklama
https://burtinet.com/alan-adiEvetEvetProtokol ve konum bilgisi var
ftp://ftp.example.com/dosya.zipEvetEvetFTP ile erişim yöntemi belirtilmiş
mailto:info@burtinet.comEvetEvetE-posta istemcisini açacak erişim şeması
urn:isbn:9780141036144EvetHayırSadece isim verir, konum vermez
/blog/yazi-1EvetGöreli URLTam adres değil, bulunduğu siteye göre çözülür

Bir URL'nin Bölümleri

Bir URL, belirli kurallara göre dizilmiş parçalardan oluşur. Hepsi her adreste bulunmaz; ama tam bir URL şu yapıdadır:

https://kullanici:sifre@www.ornek.com:8443/blog/yazi?sayfa=2&sirala=yeni#yorumlar
BölümÖrnekteki DeğeriGörevi
Şema (protokol)httpsKaynağa hangi yöntemle erişileceğini belirtir
Kullanıcı bilgisikullanici:sifreİsteğe bağlı kimlik bilgisi (güvenlik nedeniyle kullanılmaz)
Ana makine (host)www.ornek.comSunucunun alan adı ya da IP adresi
Port8443Sunucudaki bağlantı noktası (https için varsayılan 443)
Yol (path)/blog/yaziSunucudaki kaynağın konumu
Sorgu (query)?sayfa=2&sirala=yeniSunucuya gönderilen parametreler
Parça (fragment)#yorumlarSayfa içinde belirli bir bölüme atlar; sunucuya gönderilmez

Fragment (# sonrası) tarayıcıda çalışır ve sunucuya iletilmez. Bu yüzden analitik araçlarında # sonrası farklılıklar ayrı sayfa olarak görünmez.

Neden Hâlâ Çoğu Kişi İkisini Karıştırıyor?

Web'de karşılaştığımız neredeyse her adres hem URI hem URL olduğu için ayrım günlük hayatta görünmez. Ayrıca W3C ve WHATWG gibi standart kuruluşları da zamanla "URL" terimini daha yaygın ve pratik bir ad olarak benimsemiştir; WHATWG'nin URL Standardı bugün tarayıcıların adresleri nasıl işlediğini belirleyen güncel belgedir. Yine de teknik dokümanlarda (özellikle HTTP, REST API ve XML ad alanları) "URI" ifadesi doğru ve kapsayıcı terim olarak tercih edilir.

Masada duran dizüstü bilgisayar, telefon ve tablet: farklı cihazlardan aynı URL ile aynı kaynağa erişilir
Aynı URL'ye telefondan, tabletten ve bilgisayardan erişebilirsiniz · Fotoğraf: Alejandro Escamilla / CC0 / Wikimedia Commons

Geliştiriciler İçin Pratik Kullanım

REST API tasarımında her kaynağın bir URI'si vardır; /musteriler/42 gibi bir yol, 42 numaralı müşteriyi tanımlar. Buradaki yol bir kaynak tanımlayıcısıdır ve istemci bu URI'ye HTTP metoduyla (GET, POST, PUT, DELETE) erişir. Dolayısıyla URI'yi kaynağın kimliği, URL'yi de o kimliğe götüren tam adres olarak düşünebilirsiniz.

  • API dokümantasyonunda kaynak yollarını anlatırken "URI" demek doğru ve yeterlidir.
  • Tarayıcıdan erişilebilir tam adresleri anlatırken "URL" demek daha anlaşılırdır.
  • Özel karakterleri (boşluk, Türkçe harfler) URL'de yüzde kodlamasıyla (%20, %C3%A7 gibi) yazmak gerekir.
  • Göreli URL'ler (../resim.png) kullanıldığı sayfanın adresine göre çözülür; taşınabilir ama hataya açıktır.

URL Yapısının SEO'daki Önemi

Arama motorları sayfaları URL'leri üzerinden tanır; aynı içeriğe farklı URL'lerle ulaşılabiliyorsa bunları ayrı sayfa olarak değerlendirebilir. Sağlıklı bir URL yapısı için şu kurallara uyun:

  • URL'leri kısa, okunur ve konuyu anlatan kelimelerle yazın (/url-ile-uri-farki gibi).
  • Kelimeleri tire (-) ile ayırın; alt çizgi yerine tire tercih edilir.
  • Büyük/küçük harf tutarsızlığından kaçının; adresleri hep küçük harfle yazın.
  • Aynı sayfaya giden URL'ler (www/non-www, http/https, sonundaki eğik çizgi) arasında tek bir kanonik adres belirleyip diğerlerini 301 ile yönlendirin.
  • Gereksiz sorgu parametrelerini (oturum kimliği gibi) URL'den uzak tutun ya da rel="canonical" ile ana sürüme işaret edin.

Alan adınızı ve alt alan adlarınızı doğru yapılandırmak da URL sağlığının parçasıdır. Alt alan adlarının işleyişi için subdomain nedir yazımıza göz atabilirsiniz.

Mutlak ve Göreli URL Farkı

Mutlak URL, şema ve alan adı dahil tam adresi verir (https://blog.burtinet.com/yazi/). Göreli URL ise yalnızca bulunduğunuz konuma göre bir yol belirtir (/yazi/ ya da ../resim.png). Tarayıcı göreli adresi, içinde bulunduğu sayfanın adresiyle birleştirerek tam URL'ye çevirir.

TürÖrnekNe Zaman Kullanılır?
Mutlak URLhttps://burtinet.com/hostingBaşka bir siteye bağlantı, sitemap, canonical etiketi, sosyal medya paylaşımı
Kök göreli URL/hostingAynı sitedeki sayfalar arası bağlantılar
Göreli URL../hostingAynı klasör yapısındaki dosyalar; taşınması kolay ama hataya açık

SEO tarafında canonical etiketi, sitemap ve yapılandırılmış veri gibi alanlarda her zaman mutlak URL yazın; arama motoru adresi eksiksiz görmelidir. Site içi menü ve içerik bağlantılarında ise kök göreli adresler hem kısa hem sağlıklıdır.

URL'lerde Türkçe Karakter ve Özel Karakterler

URL'ler yalnızca belirli ASCII karakterlerini doğrudan taşıyabilir. Türkçe harfler (ç, ğ, ı, ö, ş, ü) ve boşluk gibi karakterler yüzde kodlamasıyla (percent-encoding) yazılır. Örneğin boşluk %20, "ş" harfi %C5%9F olur. Okunabilir ve paylaşılabilir adresler için URL'lerde Türkçe karakter yerine ASCII karşılıklarını (ş yerine s, ı yerine i) kullanmak yaygın ve güvenli bir uygulamadır.

Sık Sorulan Sorular

URL ile URI arasındaki en basit fark nedir?

URI bir kaynağı tanımlayan genel kimliktir; URL ise bu kimliğe ek olarak kaynağın nerede bulunduğunu ve nasıl erişileceğini de söyler. Her URL bir URI'dir ama her URI bir URL değildir.

Tarayıcıdaki adres çubuğunda URL mi yoksa URI mi yazar?

İkisi de doğrudur. Adres çubuğundaki https://... adresi hem bir URL hem de bir URI'dir; günlük kullanımda "URL" demek yaygın ve anlaşılırdır.

URN nedir, URL'den farkı ne?

URN, kaynağı konumundan bağımsız kalıcı bir isimle tanımlar (ör. ISBN numarası). URL ise kaynağın konumunu verir; kaynak taşınırsa URL değişir, URN değişmez.

Bir adresin URL olması için nelere sahip olmalı?

Kaynağa erişim yöntemini (şema, örneğin https) ve konumunu (host ile yol) belirtmelidir. Yalnızca bir isim ya da numara içeren tanımlayıcılar URL sayılmaz.

URL'deki # işaretinden sonrası sunucuya gider mi?

Hayır. Fragment bölümü yalnızca tarayıcıda çalışır; sayfa içinde ilgili bölüme kaydırır ve HTTP isteğiyle sunucuya iletilmez.

İlgili yazılar

Teknoloji

SaaS Nedir?

Dijital dönüşümün hız kazandığı günümüzde, işletmelerin ve bireylerin yazılıma erişim biçimi kökten değişti. Artık yazılımları bilgisayarımıza yüklemek yerine,…

Emre G3 dk okuma