Jaký je rozdíl mezi URL a URI v praxi?

Autor: Zveřejněno

Stručně: URI je identifikátor zdroje, zatímco URL je identifikátor, který navíc určuje způsob přístupu ke zdroji a jeho umístění. V klasickém dělení je každé URL zároveň URI, ale ne každé URI je URL. Adresu webové stránky tedy můžete správně označit jako URL i jako URI — v běžném hovoru bývá označení „URL“ srozumitelnější.

Co znamená URI?

URI je zkratka pro Uniform Resource Identifier, tedy jednotný identifikátor zdroje. Zdrojem může být webová stránka, fotografie, dokument, položka zpřístupněná prostřednictvím API, ale také objekt, který nelze jednoduše stáhnout z internetu.

Hlavní funkcí URI je identifikace: určuje, o jaký zdroj jde. Samotný identifikátor nemusí říkat, kde se zdroj nachází ani jak k němu získat přístup.

Příkladem je urn:isbn:9780131103627. Tento identifikátor označuje publikaci pomocí čísla ISBN. Neodkazuje na konkrétní knihkupectví, knihovnu ani soubor ke stažení. Určuje publikaci, ale neuvádí její internetovou adresu.

URI je tedy širší pojem než adresa stránky. Jde o kategorii identifikátorů, do níž patří i dobře známé adresy začínající na https:.

Co znamená URL?

URL je zkratka pro Uniform Resource Locator, tedy jednotný lokátor zdroje. Určuje umístění zdroje a mechanismus přístupu k němu, například prostřednictvím HTTPS.

Příkladem URL je https://example.com/poradnik. Obsahuje informace, které prohlížeč potřebuje, aby se mohl pokusit získat přístup k dané stránce:

Adresa může obsahovat také port, parametry dotazu a fragment. V příkladu https://example.com/poradnik?jezyk=pl#wprowadzenie je část jazyk=pl parametrem dotazu a uvod identifikuje fragment dokumentu. Fragment se na server neposílá jako součást požadavku HTTP; zpracovává ho software na straně uživatele.

URL nezaručuje, že zdroj existuje nebo je dostupný. Adresa může vést na odstraněnou stránku, vyžadovat přihlášení nebo odkazovat na server, který neodpovídá. Stále však zůstává URL.

V čem přesně spočívá rozdíl?

Nejsnáze si ho zapamatujete pomocí dvou otázek: URI odpovídá na „co identifikujeme?“, zatímco URL navíc umožňuje určit, „kde a jak se ke zdroji dostat?“. Nejde o dvě oddělené kategorie: URL je zvláštním případem URI.

PříkladTypCo sděluje?
https://example.com/zdjecie.jpgURL a URIUrčuje umístění fotografie a způsob přístupu prostřednictvím HTTPS.
urn:isbn:9780131103627URI typu URNIdentifikuje publikaci, ale neuvádí její umístění na síti.

URN, tedy Uniform Resource Name, je identifikátor založený na názvu v určitém jmenném prostoru. Ve druhém příkladu je tímto prostorem ISBN. K pochopení webových adres nemusíte URN používat, pomáhá však ukázat, proč URI není jen jiné označení pro URL.

Pomůže přirovnání ke knize a jejímu místu v polici. Číslo ISBN slouží k identifikaci konkrétního vydání, zatímco informace o knihovně, regálu a polici ho pomáhají najít. Jde pouze o analogii: internetové URL může současně identifikovat zdroj a určovat jeho umístění.

Který pojem používat v praxi?

Když žádáte o adresu stránky, odkaz na produkt nebo adresu souboru, používejte označení URL. V tomto kontextu je přesné a nemusíte vysvětlovat širší kategorii identifikátorů.

V technické dokumentaci se můžete setkat s označením URI i tehdy, když ukázková hodnota vypadá jako běžná adresa HTTPS. Nemusí to být chyba: autor používá širší pojem nebo název zavedený v daném standardu. Pokud se pole v API jmenuje redirect_uri, zachovejte tento název přesně — neměňte ho na redirect_url jen proto, že předáváte adresu stránky.

Je také dobré rozlišovat úplnou adresu a její části. Samotné example.com je doménové jméno, zatímco /poradnik je relativní odkaz, jehož význam závisí na základní adrese. Ani jeden z těchto zápisů sám o sobě neposkytuje stejné informace jako úplné URL https://example.com/poradnik.

Proč se tato označení někdy zaměňují?

Klasické dělení, v němž URI zahrnuje URL a URN, dobře vysvětluje základní rozdíl. Terminologie ve standardech však není zcela jednotná: standard WHATWG URL, používaný v prostředí prohlížečů, pracuje s pojmem URL a definuje vlastní pravidla zpracování adres.

Při programování jsou proto důležitější než samotné označení požadavky konkrétní knihovny nebo API: zda přijímá úplnou adresu, zda podporuje relativní odkazy a jaká schémata povoluje. Když vyplňujete pole „adresa stránky“, zadejte úplné URL; při implementaci integrace si ověřte požadovaný formát v její dokumentaci.

Přečtěte si také

Zjistěte, jak PHP-FPM zpracovává požadavky PHP, čím se liší od webového serveru a jak nastavit procesy podle provozu a zdrojů hostingu.
Poznejte BIND, otevřený software pro server DNS: jak spravuje domény, jaké role plní a kdy se vyplatí provozovat vlastní server.
Zjistěte, k čemu slouží polský registr a číslo REGON, jak se liší od NIP a KRS a jak v oficiálním registru ověřit údaje o firmě.