Bir URI, bir URL ve bir URN arasındaki fark nedir?

İnsanlar URL'ler, URI'ler ve URN'ler hakkında sanki farklı şeylermiş gibi konuşurlar, ancak çıplak gözle aynı görünürler.

Aralarındaki ayırt edilebilir farklar nelerdir?

Çözüm

RFC 3986]1'den:

Bir URI ayrıca bir konum belirleyici, bir isim veya her ikisi olarak sınıflandırılabilir. Bu terimi "Uniform Resource Locator" (URL) URI'lerin alt kümesini ifade eder Bir kaynağı tanımlamanın yanı sıra, bir araç sağlayan birincil erişim mekanizmasını tanımlayarak kaynağın yerini belirleme (örneğin, ağ "konumu"). Tekdüzen Kaynak Adı" terimi; (URN) terimi, tarihsel olarak hem URI'lere hem de URI'lere atıfta bulunmak için kullanılmıştır. "urn" küresel olarak benzersiz kalması gereken şema [RFC2141] ve kaynağın varlığı sona erdiğinde veya kalıcı hale geldiğinde bile kullanılamaz ve bir adın özelliklerine sahip başka herhangi bir URI'ye.

Yani tüm URL'ler URI'dir (aslında tam olarak değil - aşağıya bakın) ve tüm URN'ler URI'dir - ancak URN'ler ve URL'ler farklıdır, bu nedenle tüm URI'lerin URL olduğunu söyleyemezsiniz.

EDIT: Daha önce tüm URL'lerin geçerli URI'ler olduğunu düşünmüştüm, ancak yorumlara göre:

Not "all URLs are URIs". RFC'nin yorumlanmasına bağlıdır. Örneğin Java'da URI ayrıştırıcı [ veya ]'den hoşlanmaz ve bunun nedeni spesifikasyonun "shall not" değil "should not" demesidir.

Bu da ne yazık ki suları daha da bulandırıyor.

Eğer Roger Pate'in cevabını henüz okumadıysanız, bunu da yapmanızı tavsiye ederim.

Yorumlar (20)

İkisi de aynı şey. URI, URL'nin genelleştirilmiş halidir. Başlangıçta, URI'lerin URL'ler (adresler) ve URN'ler (adlar) olarak ayrılması planlanmıştı, ancak daha sonra bir URL ile URI arasında çok az fark vardı ve http URI'leri aslında herhangi bir kaynağı bulmasalar bile ad alanları olarak kullanıldı.

Yorumlar (4)

Wikipedia burada ihtiyacınız olan tüm bilgileri verecektir. http://en.wikipedia.org/wiki/URI adresinden alıntı yapılmıştır:

URL, bir kaynağı tanımlamanın yanı sıra, birincil erişim mekanizmasını veya ağ "konumunu" tanımlayarak kaynak üzerinde hareket etme veya kaynağın bir temsilini elde etme araçları sağlayan bir URI'dir.

Yorumlar (0)