İç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.
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.
| Terim | Açılımı | Ne Tanımlar? | Örnek |
|---|---|---|---|
| URI | Uniform Resource Identifier | Kaynağı tanımlar (üst kavram) | urn:isbn:9780141036144 |
| URL | Uniform Resource Locator | Kaynağın konumunu ve erişim yöntemini verir | https://blog.burtinet.com/ |
| URN | Uniform Resource Name | Kaynağı konumdan bağımsız, kalıcı adla tanımlar | urn: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.
| Adres | URI mi? | URL mi? | Açıklama |
|---|---|---|---|
https://burtinet.com/alan-adi | Evet | Evet | Protokol ve konum bilgisi var |
ftp://ftp.example.com/dosya.zip | Evet | Evet | FTP ile erişim yöntemi belirtilmiş |
mailto:info@burtinet.com | Evet | Evet | E-posta istemcisini açacak erişim şeması |
urn:isbn:9780141036144 | Evet | Hayır | Sadece isim verir, konum vermez |
/blog/yazi-1 | Evet | Göreli URL | Tam 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ğeri | Görevi |
|---|---|---|
| Şema (protokol) | https | Kaynağa hangi yöntemle erişileceğini belirtir |
| Kullanıcı bilgisi | kullanici:sifre | İsteğe bağlı kimlik bilgisi (güvenlik nedeniyle kullanılmaz) |
| Ana makine (host) | www.ornek.com | Sunucunun alan adı ya da IP adresi |
| Port | 8443 | Sunucudaki bağlantı noktası (https için varsayılan 443) |
| Yol (path) | /blog/yazi | Sunucudaki kaynağın konumu |
| Sorgu (query) | ?sayfa=2&sirala=yeni | Sunucuya gönderilen parametreler |
| Parça (fragment) | #yorumlar | Sayfa 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.
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%A7gibi) 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-farkigibi). - 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 | Örnek | Ne Zaman Kullanılır? |
|---|---|---|
| Mutlak URL | https://burtinet.com/hosting | Başka bir siteye bağlantı, sitemap, canonical etiketi, sosyal medya paylaşımı |
| Kök göreli URL | /hosting | Aynı sitedeki sayfalar arası bağlantılar |
| Göreli URL | ../hosting | Aynı 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
Resim Formatları Nelerdir? En Çok Kullanılan 20 Görsel ve Formatları
JPG, PNG, WebP, AVIF, HEIC, SVG, TIFF, RAW ve daha fazlası. En çok kullanılan 20 görsel formatını karşılaştırmalı tablolarla, hangi durumda hangisini kullanmanız gerektiğiyle anlatıyoruz.
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,…
ISP Nedir? İnternet Servis Sağlayıcıları
“ISP nedir?” sorusu, internetin günlük hayatımızın ayrılmaz bir parçası haline geldiği bu çağda sıkça karşılaşılan bir sorudur. ISP,…