Hızlı Özet – Domain ve URL Farkı
Domain, DNS üzerinde kullanılan alan adıdır. URL ise bu alan adıyla birlikte protokolü, portu, yolu ve parametreleri belirten tam adrestir.
- Domain nedir? — İnsanların IP adresleri yerine kullandığı alan adı bölümüdür; örnek olarak ornek.com verilebilir.
- URL nedir? — https://ornek.com/blog?id=2 gibi, kaynağın erişim yöntemini ve konumunu birlikte gösteren tam adrestir.
- DNS görevi — Domain veya hostname değerini A, AAAA ve diğer kayıtlarla IP adresi ya da hizmet bilgisine bağlar.
- Path farkı — URL içindeki /blog veya /urun/42 gibi bölümler domainin değil, web uygulamasının kaynak yolunun parçasıdır.
- www ayrımı — www.ornek.com ve ornek.com ayrı hostname'lerdir; aynı IP'yi kullanmaları zorunlu değildir.
- Port ve şema — https şemayı, 443 ise varsayılan HTTPS portunu ifade eder; ikisi de domainin parçası değildir.
Domain, bir web sitesinin alan adıdır; URL ise o siteye veya belirli bir kaynağa nasıl ve nereden erişileceğini gösteren tam adrestir. Örneğin ornek.com bir domain, https://ornek.com/blog?id=2 bir URL'dir. URL içinde domain bulunabilir, fakat protokol, port, path ve sorgu parametreleri domain kapsamına girmez.
İçindekiler
- Domain ve URL arasındaki temel ayrım
- URL hangi parçalardan oluşur?
- Domain nedir, nasıl çalışır?
- Bir domain ile URL arasındaki fark nasıl anlaşılır?
- Domain, hostname ve URL aynı şey midir?
- HTTPS, DNS ve yönlendirme domain-URL ilişkisini nasıl değiştirir?
- Komut satırından domain ve URL nasıl test edilir?
- Günlük kullanımda yapılan domain ve URL hataları
- Domain ve URL farkı için kısa karar tablosu
- Domain ve URL Kontrol Listesi
- Sık Sorulan Sorular
- Kaynaklar
Domain ve URL arasındaki temel ayrım
Bir web sitesine ulaşırken kullanılan adres, tek bir parçadan oluşmaz. Domain, bir kaynağın insanlar tarafından okunabilen alan adıdır; URL ise protokolü, alan adını, portu, yolu, sorgu parametrelerini ve gerekirse bölüm bilgisini bir araya getirerek belirli bir kaynağın adresini tanımlar.
Örneğin ornek.com bir domaindir. https://ornek.com/blog?v=2#dns ise bir URL’dir. Bu URL içindeki ornek.com bölümü domaindir; URL, bundan daha fazla bilgi taşır.
Domain ve URL farkı; DNS ayarı, TLS sertifikası, yönlendirme ve web sunucusu yapılandırılırken belirginleşir. Bir domain DNS üzerinden IP adresine çözümlenir; URL ise tarayıcıya hangi protokolle, hangi host üzerindeki hangi kaynağın isteneceğini söyler.
Ne yapılmalı – Bir adresi değerlendirirken önce host bölümünü, ardından protokolü, portu, yolu ve parametreleri ayrı ayrı inceleyin.
URL hangi parçalardan oluşur?
URL sözdizimi, IETF’nin RFC 3986 standardında tanımlanan genel URI yapısına dayanır. Web tarayıcılarında sık görülen URL biçimi aşağıdaki gibidir:
https://kullanici:sifre@www.ornek.com:8443/magaza/urun?id=42&renk=mavi#yorumlar
Bu örnekte her bölümün ayrı bir görevi vardır:
| Bölüm | Örnek | Görevi |
|---|---|---|
| Şema | https |
İletişimde kullanılacak protokolü belirtir. |
| Kullanıcı bilgisi | kullanici:sifre@ |
URL içinde taşınabilen, güvenlik açısından sakıncalı kimlik bilgisi bölümüdür. |
| Host | www.ornek.com |
Sunucunun domain, hostname veya IP tabanlı adresidir. |
| Port | 8443 |
Bağlantının yapılacağı ağ portunu belirtir. |
| Path | /magaza/urun |
Sunucuda istenen kaynak ya da uygulama rotasıdır. |
| Query | ?id=42&renk=mavi |
Uygulamaya gönderilen anahtar-değer parametreleridir. |
| Fragment | #yorumlar |
İstemcide, çoğunlukla tarayıcıda seçilen bölüm bilgisidir. |
https://ornek.com/ geçerli bir URL’dir ve domaini ornek.com değeridir. URL’de port yazılmadığında istemci şemaya göre varsayılan portu kullanır: HTTP için genellikle TCP 80, HTTPS için TCP 443.
Kullanıcı adı ve şifreyi URL içine yazmak bazı istemcilerde teknik olarak mümkün olsa da tercih edilmemelidir. URL’ler tarayıcı geçmişinde, proxy kayıtlarında ve web sunucusu loglarında görünebilir. Bazı ortamlarda URL, referer bilgisinin parçası olarak da taşınabilir.
Ne yapılmalı – URL içinde kimlik bilgisi taşımayın; yönetim erişimi için HTTPS ve ayrı kimlik doğrulama mekanizmaları kullanın.
İpucu
Adres çubuğundaki URL'yi incelerken şemadan sonraki host bölümünü ayırın. Eğik çizgiden, soru işaretinden veya diyez işaretinden sonraki bölüm path, query ya da fragment olabilir; DNS kaydı aranırken bu kısımları kullanmayın.
Domain nedir, nasıl çalışır?
Domain, DNS hiyerarşisindeki bir alanı insanlar için okunabilir bir adla ifade eder. DNS bu adları IPv4 veya IPv6 adreslerine ve MX, TXT, CNAME gibi diğer kayıtlara çözümlemek için kullanılır.
www.ornek.com ifadesini parçalara ayırırsak:
- www: Hostname veya subdomain olarak kullanılan etikettir.
- ornek: Alan adının ikinci seviye bölümüdür.
- com: Üst seviye alan adıdır; TLD olarak adlandırılır.
Alan adının sağındaki nokta, DNS kökünü temsil eder. Tam biçim teknik olarak www.ornek.com. şeklinde yazılabilir; sondaki nokta günlük kullanımda çoğunlukla gösterilmez.
Domain kaydı ile web barındırma aynı hizmet değildir. Domain, adın kayıt ve yönetim hakkını sağlar. Hosting veya VPS ise bu ad üzerinden sunulacak uygulamanın ve verinin barındırıldığı altyapıdır.
Bir domain kaydı için kayıt kuruluşu, yetkili nameserver’lar ve ilgili DNS kayıtlarının doğru çalışması gerekir. Web sitesinin çalışması için çoğu senaryoda A veya AAAA kaydı, e-posta için MX kaydı, alan adı doğrulamaları için TXT kaydı gerekir.
dig +short ornek.com A komutu A kaydını, dig +short ornek.com AAAA komutu IPv6 kaydını gösterir. Boş çıktı, kaydın bulunmadığını veya sorgulanan DNS sunucusunun cevap vermediğini gösterebilir; tek başına web sunucusunun kapalı olduğunu kanıtlamaz.
Ne yapılmalı – Web erişim sorununda önce dig +short ile A, AAAA ve CNAME kayıtlarını kontrol edin; DNS ile HTTP katmanlarını birbirine karıştırmayın.
Bir domain ile URL arasındaki fark nasıl anlaşılır?
En pratik yöntem, web adresini şemadan başlayarak soldan sağa ve hosttan sonraki bölümleri ayırarak okumaktır. URL içindeki host bölümü domaini veya domain altında tanımlı bir hostname’i gösterir. Path, sorgu ve fragment bölümleri domainin parçası değildir.
| Adres | Domain veya host | URL’nin ek bilgileri |
|---|---|---|
ornek.com |
ornek.com |
Protokol, path ve parametre yoktur. |
https://ornek.com |
ornek.com |
https şeması eklenmiştir. |
https://blog.ornek.com/yazi |
blog.ornek.com |
/yazi path bilgisidir. |
https://ornek.com:8443/app |
ornek.com |
8443 portu ve /app path’i vardır. |
https://ornek.com/urun?id=8 |
ornek.com |
Path ve id=8 sorgusu vardır. |
Burada küçük ama kritik bir ayrıntı bulunur: blog.ornek.com ile ornek.com aynı DNS alanı altında olabilir, fakat DNS’te ayrı hostname’ler olarak yapılandırılabilir. Her ikisi de aynı IP’ye gidebilir; bu zorunlu değildir.
Benzer biçimde ornek.com, www.ornek.com ve m.ornek.com üç farklı host adıdır. Web sunucusu, TLS sertifikası ve yönlendirme kuralları bu adları ayrı ayrı değerlendirebilir.
Bir URL’nin başında görülen https:// domain değildir. Bu bölüm şemadır. Domain, host içindeki alan adı bölümüdür; URL ise kaynağın konumunu ve erişim yöntemini birlikte bildirir.
Dikkat
www.ornek.com ile ornek.com aynı adres kabul edilmemelidir. DNS kayıtları, TLS sertifikası ve web sunucusunun sanal host kuralları iki hostname için ayrı yapılandırılabilir.
Domain, hostname ve URL aynı şey midir?
Bu üç kavram birbiriyle ilişkili olsa da eş anlamlı değildir.
- Domain: DNS hiyerarşisindeki alan adı veya kayıtlı ad bölgesidir. Örnek:
ornek.com. - Hostname: Ağ üzerinde belirli bir makineyi ya da hizmeti tanımlayan addır. Örnek:
vps01.ornek.com. - FQDN: Hostname’in DNS hiyerarşisiyle birlikte tam yazılmış biçimidir. Sondaki kök noktası gösterilirse
vps01.ornek.com.olur. - URL: Şema, host, port ve kaynak yolunu birleştiren adrestir. Örnek:
https://vps01.ornek.com:8443/panel.
vps01.ornek.com bir hostname olabilir. Aynı ifade, bir URL’nin host bölümü olarak da kullanılabilir; fakat başına https:// ve gerekiyorsa path eklenmeden tek başına tam URL sayılmaz.
DNS kaydı ile web URL’si farklı katmanlara aittir. A kaydı bir hostname’i IPv4 adresine bağlar. HTTP isteği ise URL’deki host ve path bilgilerini web sunucusuna iletir. Nginx gibi bir sunucu, aynı IP üzerinde gelen isteği Host başlığına göre doğru sanal sunucuya yönlendirebilir.
Bu ayrım, tek VPS üzerinde birden fazla site barındırırken özellikle önemlidir. Her domain aynı IP’ye işaret edebilir; Nginx, isteğin hangi domain için geldiğini okuyarak farklı document root veya uygulama upstream’i seçer.
HTTPS, DNS ve yönlendirme domain-URL ilişkisini nasıl değiştirir?
HTTPS, domainin kendisi değildir. TLS bağlantısı, istemcinin seçtiği hostname için sertifika doğrulaması yapar. Sertifikanın ornek.com adına sahip olması, www.ornek.com adını otomatik olarak kapsadığı anlamına gelmez; sertifikada ilgili adın veya uygun bir wildcard kaydının bulunması gerekir.
Tarayıcı https://ornek.com/urun URL’sini açarken kabaca şu aşamalardan geçer:
- DNS çözümleme:
ornek.comiçin A veya AAAA kaydı sorgulanır. - Bağlantı: HTTPS için genellikle TCP 443 portuna bağlantı kurulur; HTTP/3 kullanılıyorsa UDP 443 üzerinden QUIC devreye girebilir.
- TLS doğrulaması: Sunucunun sertifikası, hostname ve geçerlilik süresi kontrol edilir.
- HTTP isteği: Sunucuya host ve
/urunpath’i gönderilir. - Uygulama yanıtı: Sunucu içerik, hata veya 301/302 gibi yönlendirme döndürür.
Bir yönlendirme URL’nin domainini değiştirebilir. http://ornek.com adresinin https://www.ornek.com/ adresine 301 ile yönlendirilmesi, DNS kaydının değiştiği anlamına gelmez. DNS hâlâ eski IP’yi gösterebilir; yönlendirmeyi yapan web sunucusu veya CDN’dir.
Alan adı geçişlerinde DNS önbellekleri ve TTL nedeniyle farklı resolver’lar bir süre farklı cevaplar verebilir. DNS değişiklikleri sırasında yalnızca tarayıcıyı kontrol etmek yerine yetkili nameserver ile public resolver cevaplarını ayrı test etmek gerekir. DNS Yayılması Nedir? Ne Kadar Sürer? başlıklı içerik, bu önbellekleme davranışını ayrıca ele alır.
Bir sitenin HTTP’den HTTPS’ye geçirilmesinde 301 yönlendirmesi, canonical URL, sertifika kapsamı ve uygulamanın oluşturduğu mutlak URL’ler birlikte kontrol edilmelidir. 301 Yönlendirme Nedir? SEO İçin Kullanım Rehberi içinde kalıcı yönlendirmelerin kullanım alanları açıklanır.
Ne yapılmalı – Yönlendirme sorununda DNS cevabını, TLS sertifikasını ve HTTP durum kodunu ayrı ayrı test edin.
Örnek
Bir site ornek.com adresinden 203.0.113.10 IP'sine, www.ornek.com adresinden ise CDN IP'sine cevap verebilir. Tarayıcıdaki URL aynı uygulamaya işaret ediyor gibi görünse de DNS ve yönlendirme akışı farklı olabilir.
Komut satırından domain ve URL nasıl test edilir?
Tarayıcı, DNS önbelleği ve eklentiler nedeniyle sorunu gizleyebilir. Temel testler terminalden daha açık sonuç verir.
dig +short example.com A
dig +short www.example.com CNAME
curl -I https://www.example.com/
İlk iki komut DNS kayıtlarını gösterir. curl -I yalnızca HTTP başlıklarını ister; çıktıda HTTP/2 200, 301, 302 veya 404 gibi durum kodları görülebilir. 301 veya 302, isteğin ulaştığını fakat başka bir URL’ye yönlendirildiğini gösterir.
Yönlendirme zincirini görmek için -L seçeneği kullanılabilir:
curl -IL https://example.com/
Bu komut her yönlendirme adımının başlıklarını gösterir. Gereksiz iki veya üç yönlendirme, gecikmeyi artırabilir ve bazı uygulamalarda çerez veya canonical URL sorunlarına yol açabilir.
DNS’in hangi sunucudan cevap verdiğini görmek için:
dig example.com A
dig @1.1.1.1 example.com A
dig @8.8.8.8 example.com A
İlk sorgu sistemde tanımlı resolver’ı, diğerleri belirli public resolver’ları kullanır. Cevaplar farklıysa TTL, önbellek veya yetkili nameserver yapılandırması incelenmelidir. dig +short okunabilirliği artırır; ayrıntılı teşhis gerektiğinde kısa biçim yerine tam çıktıyı saklayın.
Bir URL’de hangi hostun gönderildiğini test etmek için belirli IP’ye bağlanırken host adını korumak mümkündür:
curl --resolve example.com:443:203.0.113.10 -I https://example.com/
--resolve, belirtilen host ve port için geçici bir IP eşlemesi kullanır; TLS ile HTTP isteğinde example.com adını korur. Staging IP’sindeki yeni yapılandırmayı public DNS’i değiştirmeden sınamak için kullanışlıdır.
Ne yapılmalı – Sorunu önce dig ile DNS katmanında, ardından curl -I ile HTTP ve yönlendirme katmanında doğrulayın.
Sahadan not
Bir staging hostname'ini public DNS'i değiştirmeden test etmek için curl –resolve staging.example.com:443:203.0.113.10 -I https://staging.example.com/ komutunu çalıştırdım. Sertifika doğru hostname için dönerken HTTP yanıtı hâlâ eski sanal hostu gösteriyordu; böylece DNS'i değil, Nginx server_name yapılandırmasını düzeltmem gerektiğini gördüm.
Günlük kullanımda yapılan domain ve URL hataları
En sık karıştırılan örneklerden biri, path bölümünü domain sanmaktır. ornek.com/blog ifadesinde domain ornek.com, path ise /blog bölümüdür. DNS sunucusuna /blog yolu gönderilmez; DNS yalnızca host adını çözümler.
İkinci hata, www ile kök domaini aynı kabul etmektir. www.ornek.com için CNAME kaydı varken ornek.com için ayrıca A veya uygun DNS kaydı bulunması gerekebilir. Kök domain için CNAME kullanımı, DNS sağlayıcısının ALIAS veya ANAME benzeri özel desteğine bağlıdır.
Üçüncü hata, URL’deki sorgu parametrelerini güvenilir bir erişim kontrolü sanmaktır. /download?file=rapor.pdf biçimindeki parametre, tek başına yetkilendirme sağlamaz. Uygulama sunucusu oturum ve izin kontrolü yapmalıdır.
Dördüncü hata, URL kodlamasını atlamaktır. Boşluk, Türkçe karakterler ve & gibi özel karakterler URL içinde uygun şekilde kodlanmalıdır. Uygulama geliştirirken tarayıcının adres çubuğunda görünen biçim ile sunucunun ayrıştırdığı biçim arasında fark oluşabilir.
Beşinci hata, http ile https adreslerini aynı kaynak sanmaktır. Tarayıcı açısından bunlar farklı origin’lerdir; origin, şema, host ve port üçlüsüyle belirlenir. https://ornek.com ile http://ornek.com arasında yalnızca bir harf farkı yoktur; güvenlik modeli ve bağlantı şifrelemesi farklıdır.
CDN kullanıldığında URL yine aynı kalabilir, fakat DNS cevabı CDN edge IP’sini gösterebilir. CDN Nedir? Web Sitesini Nasıl Hızlandırır? içeriğinde anlatıldığı gibi, kullanıcı ile origin sunucu arasına bir dağıtım katmanı eklenmesi domain tanımını değiştirmez; istek akışını değiştirir.
Domain ve URL farkı için kısa karar tablosu
Bir kavramın hangi durumda kullanılacağını aşağıdaki tabloyla hızlıca ayırabilirsiniz:
| Soru | Bakılacak kavram | Örnek |
|---|---|---|
| Alan adı kayıtlı mı? | Domain | ornek.com |
| Hangi IP’ye çözülüyor? | DNS kaydı | A veya AAAA |
| Hangi protokol kullanılacak? | URL şeması | https:// |
| Hangi sayfa veya API çağrılacak? | URL path’i | /api/users |
| Hangi filtre gönderilecek? | Query string | ?page=2 |
| Sayfanın hangi bölümü açılacak? | Fragment | #yorumlar |
| Hangi uygulamaya yönlenecek? | Host ve web sunucusu kuralı | api.ornek.com |
Kısa formülle ifade edilirse: domain, URL’nin host tarafındaki alan adıdır; URL ise bu hosta hangi yöntemle ve hangi kaynağa erişileceğini tarif eden tam adrestir. Her domain bir URL değildir. Her URL’nin host bölümünde domain bulunması da zorunlu değildir; IP adresi veya localhost da kullanılabilir.
Örneğin http://127.0.0.1:8080/test geçerli bir URL’dir, fakat içinde kayıtlı domain yoktur. Host bölümü IPv4 adresidir. Aynı şekilde file:///home/user/not.txt bir URL biçimidir; web domaini içermez.
Ne yapılmalı – Dokümantasyonda “domain” dediğinizde alan adını, “URL” dediğinizde ise şema ve kaynak yolu dahil tam adresi yazın.
Domain ve URL Kontrol Listesi
- Domain ile URL'yi ayrı kavramlar olarak adlandırın.
- A ve AAAA DNS kayıtlarını dig ile kontrol edin.
- www ve kök domain için ayrı DNS cevaplarını karşılaştırın.
- URL'nin şema, port, host, path ve query bölümlerini ayırın.
- HTTPS sertifikasının kullanılan hostname'i kapsadığını doğrulayın.
- curl -I ve curl -IL ile HTTP durum kodlarını ve yönlendirmeleri inceleyin.
- DNS sorunu ile web sunucusu sorununu ayrı test sonuçlarıyla teşhis edin.
Bir sonraki DNS veya HTTPS sorununda adresi tek parça olarak değil, şema, host, port ve path katmanlarına ayırarak inceleyin. İki dakikalık bir dig ve curl kontrolü, panelde uzun süre aramaktan daha net bir başlangıç sağlayabilir.
Sık Sorulan Sorular
Domain nedir?
Domain, internette bir alanı veya hizmeti insanlar için okunabilir bir adla tanımlayan isimdir. ornek.com bir domaindir. DNS bu adı A, AAAA, MX veya TXT gibi kayıtlarla IP adresi ya da başka hizmet bilgilerine bağlar. Domain kaydı tek başına web sitesi barındırmaz; site için hosting, VPS veya başka bir sunucu hizmeti de gerekir.
URL nedir?
URL, belirli bir kaynağa nasıl erişileceğini ve kaynağın nerede bulunduğunu gösteren tam adrestir. https://ornek.com/urun?id=7 örneğinde https şema, ornek.com host, /urun path ve id=7 sorgu parametresidir. URL içinde domain bulunabilir, fakat URL domainle sınırlı değildir; port, path ve fragment gibi bölümler de taşıyabilir.
Domain ve URL arasındaki fark nedir?
Domain yalnızca alan adı bölümünü ifade eder; URL ise protokol, host, port, path, sorgu ve fragment bilgilerini bir arada taşıyabilir. ornek.com domain örneğidir. https://ornek.com/blog?id=2 tam URL örneğidir. Bu nedenle her domain URL'nin bir parçası olabilir, ancak domain tek başına tam URL olmak zorunda değildir.
www bir domain midir?
www çoğu durumda domainin önünde kullanılan bir subdomain veya hostname etiketidir. www.ornek.com tam hostname iken ornek.com kök domain olarak adlandırılır. Bu iki ad aynı IP'ye yönlenebilir, farklı IP'lere de gidebilir. DNS kayıtları ve TLS sertifikaları yapılandırılırken www ile kök domainin ayrı kontrol edilmesi gerekir.
URL'de domain nerede bulunur?
URL'de domain, şema olan https:// veya http:// bölümünden sonra, ilk eğik çizgi, soru işareti ya da diyez işaretinden önce yer alır. https://blog.ornek.com/yazi?id=3 adresinde host blog.ornek.com'dur. /yazi path, id=3 query bölümüdür. Port yazılmışsa hosttan sonra iki nokta ile ayrılır; örneğin :8443.
Domain değişince URL de değişir mi?
Domain değişirse URL'nin host bölümü değişir, fakat path ve sorgu bölümleri aynı kalabilir. Örneğin eski.com/urun/5 adresi yeni.com/urun/5 adresine yönlendirilebilir. DNS kayıtları, TLS sertifikası, web sunucusu sanal host ayarları, uygulamanın oluşturduğu bağlantılar ve gerekirse 301 yönlendirmeleri birlikte güncellenmelidir.
Kaynaklar
- IETF RFC 3986 – Uniform Resource Identifier — rfc-editor.org
- MDN – What is a URL? — developer.mozilla.org
- ICANN – Domain Name Basics — icann.org
- IANA – Root Zone Management — iana.org