URL, URI i URN – czym się różnią i kiedy używać którego pojęcia

Oskar Gajzler
Przez
Oskar Gajzler
Redaktor IINTE.edu.pl, na co dzień zajmuje się technologiami internetowymi i tłumaczeniem skomplikowanych tematów na prosty język. Pisze poradniki o tym, jak załatwiać sprawy przez internet, jak...
12 min czytania

URL, URI i URN to powiązane, ale różne pojęcia:

  • URI – ogólny identyfikator zasobu, czyli ciąg znaków jednoznacznie wskazujący zasób (nazwą lub adresem);
  • URL – taki URI, który podaje lokalizację zasobu i sposób dostępu (np. HTTP, HTTPS, FTP);
  • URN – taki URI, który jest trwałą nazwą zasobu, niezależną od lokalizacji i sposobu dostępu.

W praktyce: wszystkie URL i URN są URI, ale nie każdy URI jest URL-em ani URN-em.

1. Definicje „po ludzku”

1.1 URI – ogólny identyfikator zasobu

URI (Uniform Resource Identifier) to ciąg znaków, który jednoznacznie identyfikuje zasób – fizyczny lub abstrakcyjny.

W praktyce URI może:

  • identyfikować zasób przez lokalizację (wtedy jest to URL),
  • identyfikować zasób przez nazwę/numer (wtedy może to być URN),
  • zawierać cechy obu podejść (np. identyfikatory w API),
  • podlegać standardowi opisanym w RFC 3986.

Przykłady URI: https://example.com/artykul (to jednocześnie URL) oraz urn:isbn:9788328342710 (to jednocześnie URN).

Najważniejsze: URI to pojęcie nadrzędne – „parasol” obejmujący URL i URN.

1.2 URL – adres, pod który „dostaniesz zasób”

URL (Uniform Resource Locator) to szczególny typ URI, który mówi, gdzie jest zasób i jak go pobrać.

„L” jak Locator – lokalizuje zasób.

URL zwykle określa następujące elementy:

  • schemat/protokół, np. http, https, ftp, mailto,
  • lokalizację, czyli domenę/host, port i ścieżkę,
  • opcjonalnie parametry (query) i fragment.

Typowe przykłady URL:

  • https://twojadomena.pl/,
  • https://twojadomena.pl/blog/url-uri-urn,
  • ftp://ftp.example.com/pub/file.zip,
  • mailto:[email protected].

To właśnie URL wpisujesz w pasek adresu przeglądarki.

1.3 URN – trwała nazwa zasobu

URN (Uniform Resource Name) to URI pełniące wyłącznie rolę trwałej nazwy, niezależnej od miejsca przechowywania zasobu.

Kluczowe właściwości URN:

  • nie zawiera informacji, jak i skąd pobrać zasób,
  • jest niezależny od lokalizacji i sposobu dostępu,
  • ma być trwały nawet wtedy, gdy zasób zmieni lokalizację albo zniknie.

Przykłady URN: urn:isbn:9788328342710 (numer ISBN książki) oraz urn:uuid:6ba7b810-9dad-11d1-80b4-00c04fd430c8 (identyfikator UUID).

Zwykle zaczyna się od urn: + NID (namespace identifier) + część specyficzna. Przestrzenie nazw, takie jak isbn czy uuid, powinny być zarejestrowane w IANA, aby URN był formalnie poprawny.

URN nie jest w codziennym web developmencie tak popularny jak URL, ale ma znaczenie w systemach bibliotek, DOI, identyfikatorach naukowych i standardach technicznych.

2. Relacje – URI, URL i URN

Najczęściej spotykane ujęcie (zgodne z praktyką) wygląda następująco:

URI to zbiór, a URL i URN to jego wyspecjalizowane podzbiory.

Graficznie ujęte w tabeli:

Pojęcie Co robi? Czy jest URI? Przykład
URI identyfikuje zasób (nazwą lub lokalizacją) https://example.com, urn:isbn:...
URL identyfikuje i lokalizuje (adres + sposób dostępu) tak, jest typem URI https://twojadomena.pl/artykul
URN identyfikuje nazwą, bez lokalizacji tak, jest typem URI urn:isbn:978..., urn:uuid:...

Ważna zależność:

  • każdy URL jest URI, bo identyfikuje zasób,
  • każdy URN jest URI, bo identyfikuje zasób przez nazwę,
  • ale: URI nie musi być ani URL-em, ani URN-em – może mieć cechy obu albo nie pasować idealnie do żadnej klasycznej definicji.

3. Składnia – z czego się składa URI / URL / URN

3.1 Ogólna budowa URI (wg RFC 3986)

Standardowa postać URI:

scheme:[//authority]path[?query][#fragment]

Elementy:

  • scheme – schemat (protokół/logiczny typ), np. http, https, ftp, mailto, urn,
  • authority – część autorytatywna, zwykle w postaci user@host:port:
    • host – domena lub adres IP,
    • port – np. :443,
    • opcjonalnie user:password@.
  • path – ścieżka do zasobu, np. /blog/url-uri-urn,
  • query – parametry po ?, np. ?page=2&sort=asc,
  • fragment – fragment po #, np. #sekcja-1.

Przykład z rozbiciem:

https://twojadomena.pl:443/blog/url-uri-urn?utm_source=facebook#komentarze

  • schemat: https,
  • authority: twojadomena.pl:443,
  • path: /blog/url-uri-urn,
  • query: utm_source=facebook,
  • fragment: komentarze.

To jednocześnie URI i URL.

3.2 Budowa URL

URL wykorzystuje tę samą składnię co URI, ale musi zawierać informacje o lokalizacji i/lub sposobie dostępu.

Typowe schematy URL:

  • http / https – strony WWW i API,
  • ftp – pliki na serwerach FTP,
  • mailto – adresy e-mail,
  • tel – numery telefonów w aplikacjach mobilnych.

3.3 Budowa URN

Specyficzna postać URN:

urn:NID:NSS

Gdzie NID (Namespace Identifier), np. isbn lub uuid, identyfikuje przestrzeń nazw, a NSS (Namespace Specific String) to ciąg specyficzny dla tej przestrzeni.

Przykład:

urn:isbn:9788328342710

  • schemat: urn,
  • NID: isbn,
  • NSS: 9788328342710.

4. Kiedy używać którego pojęcia? – praktyczne scenariusze

4.1 Treści i linki na stronach WWW

W kontekście zwykłej strony internetowej najczęściej pracujesz z URL:

  • link do artykułu to URL, np. https://twojadomena.pl/blog/url-uri-urn,
  • link do grafiki lub pliku to także URL,
  • link w e-mailu czy przycisku CTA to URL.

Jakiego terminu używać w tekstach na stronę?

Dla czytelników nietechnicznych używaj po prostu sformułowań: „adres strony” lub „URL”.

W tekstach technicznych (np. dla devów) precyzuj termin, zależnie od kontekstu:

  • kiedy mówisz o konkretnym adresie – użyj URL,
  • kiedy mówisz o identyfikatorach zasobów w API, mikroserwisach, specyfikacjach – użyj URI,
  • kiedy mówisz o trwałych nazwach (ISBN, DOI, UUID) – użyj URN.

4.2 Dokumentacja API i REST

W specyfikacjach REST, OpenAPI i podobnych zwykle używa się pojęcia URI.

Zalecenia:

  • opisując ścieżkę endpointu, np. /api/users/{id}, mówisz o części URI,
  • pełny adres, np. https://api.twojadomena.pl/api/users/123, to URI i jednocześnie URL,
  • w dokumentacji ogólnie używaj określenia „URI zasobu”; gdy chcesz podkreślić protokół i adres HTTP, możesz mówić „URL endpointu”.

Przykładowe sformułowania do wklejenia do poradnika/dokumentacji:

„Każdy zasób API jest dostępny pod unikalnym URI.”

„Poniżej znajduje się przykładowy URL endpointu służącego do pobierania listy użytkowników.”

4.3 SEO, marketing, analityka

W SEO, narzędziach analitycznych i panelach CMS najczęściej pojawia się termin URL:

  • adres strony w mapie witryny (sitemap) to URL,
  • linki kanoniczne (canonicals), przekierowania 301 i linkowanie wewnętrzne operują na URL,
  • parametry typu utm_source to część URL (sekcja query).

Dobrą praktyką jest konsekwentnie używać na stronach marketingowych terminu URL, a URI wspominać tylko w sekcji „dla zaawansowanych”.

4.4 Systemy identyfikatorów, biblioteki, nauka

Gdy liczy się trwała identyfikacja zasobu, a nie jego aktualna lokalizacja, stosuje się URN:

  • ISBN książek – urn:isbn:...,
  • ISSN czasopism,
  • DOI publikacji naukowych – często traktowany jako URN, np. urn:doi:10.1234/abcd.efgh,
  • UUID zasobów w systemach rozproszonych – urn:uuid:....

W takich kontekstach warto jasno wyjaśnić odwiedzającym:

„URN to trwała nazwa zasobu (np. numer ISBN), która nie mówi, gdzie plik lub książka jest dostępna – służy tylko do jednoznacznej identyfikacji.”

4.5 Programowanie front-end i back-end

W kodzie spotkasz klasy i metody z „URI” w nazwie (np. java.net.URI, System.Uri w .NET, new URL() w JS), a w bibliotekach bezpieczeństwa (OAuth, OpenID Connect) często używa się redirect URI.

Wskazówka: gdy mówisz o identyfikatorze, który może, ale nie musi być adresem – użyj URI; gdy mówisz o konkretnym adresie HTTP/HTTPS – użyj URL.

5. Typowe nieporozumienia i jak je wyjaśnić czytelnikom

5.1 „URL i URI to to samo, prawda?”

W praktyce wiele osób używa tych pojęć zamiennie.

Jak to napisać w poradniku:

„W potocznym użyciu URL i URI często traktuje się jako synonimy ‘adresu w sieci’. Z technicznego punktu widzenia każdy URL jest URI, ale nie każdy URI jest URL-em.”

Pomocna analogia:

  • URI – „dowód osobisty” zasobu, czyli identyfikator,
  • URL – „dokładny adres zamieszkania” zasobu,
  • URN – „numer PESEL/ISBN” – trwałe oznaczenie, niezależne od adresu.

5.2 „Czy wszystkie URI to URL?”

Nie.

  • URL to tylko podzbiór URI zawierających lokalizację,
  • niektóre URI to URN (np. urn:isbn:...),
  • inne URI stosowane w specyfikacjach/protokołach mogą nie mieścić się dokładnie w klasycznych definicjach URL/URN, ale nadal są URI.

Sformułowanie do wykorzystania:

„W RFC 3986 wszystkie te pojęcia łączy wspólny standard – URI. URL i URN są jego wyspecjalizowanymi odmianami.”

6. Gotowe fragmenty do wykorzystania w poradniku

6.1 Definicje do sekcji wprowadzającej

URI (Uniform Resource Identifier) – ujednolicony identyfikator zasobów; ogólny termin opisujący ciąg znaków, który w standardowy sposób identyfikuje zasób (przez lokalizację, nazwę lub inne właściwości).

URL (Uniform Resource Locator) – najpopularniejszy typ URI, czyli „adres w internecie”; oprócz identyfikacji zasobu określa także jego lokalizację i sposób dostępu (np. https://).

URN (Uniform Resource Name) – typ URI służący do nadawania zasobom trwałych nazw, niezależnych od ich lokalizacji (np. urn:isbn:...).

6.2 Krótka ściąga „kiedy używać”

Dla szybkiego przypomnienia zastosuj poniższe reguły:

  • Mów „URL” – gdy pokazujesz adresy stron, linki dla użytkowników, przekierowania, elementy SEO i parametry kampanii;
  • Mów „URI” – gdy opisujesz identyfikatory zasobów w API, w dokumentacjach technicznych, standardach i RFC 3986;
  • Mów „URN” – gdy tłumaczysz trwałe identyfikatory (ISBN, DOI, UUID) ważniejsze od bieżącego adresu zasobu.

6.3 Mini-instrukcja dla autora treści / redaktora

  1. Dla użytkowników nietechnicznych:

    Używaj sformułowań „adres strony” lub „adres URL”; po pierwszym użyciu możesz dodać rozwinięcie skrótu w nawiasie.

  2. Dla tekstów technicznych (dev, admin, API):
    • używaj URI, gdy mówisz o identyfikatorach zasobów w standardzie RFC 3986,
    • używaj URL, gdy chodzi konkretnie o adresy HTTP/HTTPS, FTP itd.,
    • używaj URN, gdy pojawiają się trwałe nazwy (ISBN, DOI, UUID).
  3. Nie mieszaj terminów w jednym kontekście:

    Bądź konsekwentny: jeśli tłumaczysz różnice, doprecyzuj, o którym typie mowa; unikaj sformułowań „ten URI/URL” w treściach dla początkujących.

7. Propozycja struktury całego poradnika (gotowy konspekt)

Możesz oprzeć artykuł na następującym układzie:

  1. Wprowadzenie

    Po co nam identyfikatory zasobów w internecie? Krótkie przykłady: adres strony, numer ISBN, link do pliku.

  2. URI – pojęcie nadrzędne
    • definicja (prosto + technicznie),
    • ogólna składnia: scheme:[//authority]path[?query][#fragment],
    • przykłady różnych URI (w tym URL i URN).
  3. URL – adres, który zna każdy internauta
    • co to jest URL i z czego się składa,
    • przykłady: strona, grafika, e-mail (mailto:),
    • gdzie na co dzień spotykasz URL (przeglądarka, SEO, kampanie).
  4. URN – trwała nazwa zasobu
    • idea trwałej identyfikacji,
    • przykłady: ISBN, DOI, UUID jako URN,
    • budowa URN: urn:NID:NSS.
  5. URI vs URL vs URN – porównanie
    • tabela różnic,
    • relacja „wszystkie URL i URN są URI, ale nie odwrotnie”,
    • krótkie analogie dla czytelnika.
  6. Kiedy używać którego terminu w praktyce
    • strony WWW, blogi, SEO – głównie URL,
    • API, REST, dokumentacja – głównie URI,
    • systemy identyfikacji, nauka – URN.
  7. Najczęstsze błędy i mity

    Wyjaśnij, że „URL = URI” to mit; wskaż też częste mylenie URN z URL (np. traktowanie DOI jak zwykłego linku).

  8. Podsumowanie dla szybko czytających

    Krótka ściąga: co jest czym i kiedy stosować – 3–5 linijek esencji.

Udostępnij ten artykuł
Obserwuj
Redaktor IINTE.edu.pl, na co dzień zajmuje się technologiami internetowymi i tłumaczeniem skomplikowanych tematów na prosty język. Pisze poradniki o tym, jak załatwiać sprawy przez internet, jak bezpiecznie korzystać z sieci i jak dobierać sprzęt oraz oprogramowanie. Prywatnie tropi nowinki technologiczne i testuje je, zanim opisze.
Brak komentarzy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *