Co to jest URL?
URL, czyli Ujednolicony Lokalizator Zasobów (ang. Uniform Resource Locator) - kolokwialnie zwany adresem internetowym (ang. web address) - to unikalna sekwencja znaków, która umożliwia lokalizowanie zasobów cyfrowych (cyfrowo zachowanych nienamacalnych wytworów ludzkiego intelektu) poprzez sieć komputerową, w tym między innymi sieć Internet, które następnie mogą podlegać dostępowi używając różnorakich protokołów transferu takich jak HTTP, czyli protokołu przesyłania dokumentów hipertekstowych (ang. Hypertext Transfer Protocol), FTP, czyli protokołu przesyłania plików (ang. File Transfer Protocol) oraz mailto dla poczty elektronicznej.
URL jako URI (ang. Uniform Resource Identifier)
URL jest rodzajem URI, czyli Ujednoliconego Identyfikatora Zasobów (ang. Uniform Resource Identifier).
URI, czyli Ujednolicony Identifikator Zasobów (ang. Uniform Resource Identifier) to unikalna sekwencja znaków, która umożliwia identyfikację zasobów fizycznych, takich jak fizyczne obiekty, miejsca, oraz ludzie, oraz zasobów logicznych (nienamacalnych wytworów ludzkiego intelektu), takich jak idee, koncepcje, dokumenty pisemne, książki, piosenki, filmy, gry, oraz zasoby cyfrowe.
Pochodzenie URL
Termin URL został zdefiniowany przez wynalazcę sieci World Wide Web, Tim Berners-Lee, w roku 1994.
Konceptualizacja URL jest powiązana z rozwojem Protokołu Przesyłania Dokumentów Hipertekstowych (ang. Hypertext Transfer Protocol, HTTP) zapoczątkowanym przez Tim Berners-Lee w CERN w 1989 roku. Aby dowiedzieć się więcej zobacz What is HTTP?.
Składnia URI
Jak zauważono powyżej, URL jest rodzajem URI.
Generyczna składnia URI zawiera 5 komponentów:
-
schemat (ang. scheme) (wymagany),
-
źródło (ang. authority) (opcjonalne),
-
ścieżka (ang. path) (wymagana),
-
kwerenda (ang. query) (opcjonalna), i
-
fragment (opcjonalny).
Komponent źródło (ang. authority) zawiera trzy podkomponenty:
-
infoużytkownika (ang. userinfo) (opcjonalne),
-
host (wymagane), i,
-
port (optional).
Podkomponent infoużytkownika może być dalej podzielony na następujące podkomponenty:
-
nazwaużytkownika (ang. username) (wymagana), i
-
hasło (ang. password) (opcjonalne).
Warto zapamiętać, że jedynymi wymaganymi komponentami URI są schemat i ścieżka.
Składnia URL
URL przestrzega generycznej składni URI, jednakże komponent schemat
nazywany jest protokołem
. Komponent protokół może mieć takie wartości, jak file
, http
, https
, ftp
oraz mailto
.
A więc, URL może zawierać w sobie pięć komponentów:
-
protokół (ang. protocol) (required),
-
źródło (ang. authority) (opcjonalne), składające się z opcjonalnego infoużytkownika (ang. userinfo), wymaganego hosta oraz opcjonalnego portu,
-
ścieżka (wymagana),
-
kwerenda (opcjonalna), i
-
fragment (opcjonalny).
Z tych pięciu komponentów, tylko protokół
oraz ścieżka
są wymagane.
URL, który odnosi się do lokalnego pliku jest przykładem URL, w którym tylko protokół oraz ścieżka są wskazane.

Protokół (ang. protocol) URL
Protokół (ang. protocol) URL - odpowiednik schematu URI - jest pierwszym z dwóch wymaganych komponentów URL (drugim jest ścieżka), który określa zestaw zasad i procedur rządzących sposobem, zgodnie z którym zasób URL ma podlegać dostępowi.
Częstą wartością protokołu może być file
, http
(razem ze swym zaszyfowanym odpowiednikiem https
), ftp
oraz mailto
.
Ścieżka (ang. path) URL
Ścieżka (ang. path) URL jest drugim z dwóch wymaganych komponentów URL (pierwszym jest protokół), która określa logiczną lokalizację do danego zasobu URL (podczas gdy, protokół określa zasady i procedury dotyczące sposobu dostępu do tego zasobu).
Ścieżka składa się z jednego segmentu (np. /filmy
) lub z wielu segmentów (np. /filmy/komedie
)
Kwerenda (ang. query) w URL
Kwerenda (ang. query) w URL jest opcjonalnym komponentem URL, który wskazuje parametry używane przy dokonywaniu dostępu do zasobu URL.
W URL kwerenda poprzedzona jest znakiem zapytania (?
).
Składnia kwerendy nie jest jasno zdefiniowana, ale zazwyczaj składa się z par kluczy i wartości (ang. key-value pairs) rozdzielonych znakiem znakiem ampersand (&
).
Fragment (ang. fragment) w URL
Fragment (ang. fragment) w URL jest opcjonalnym komponentem URL, który wskazuje logiczną lokalizację do drugorzędnego zasobu (ang. secondary resource) URL takiego jak element w dokumencie HTML oznaczonego poprzez atrybut ID.
W URL fragment poprzedzony jest znakiem hashtag (#
).
Adresy URL w zapytaniach (ang. requests) HTTP
Adresy URL używane są w zapytaniach HTTP do wskazywania zasoób podlegających dostępowi.
Zasoby, które mogą podlegać dostępowi używając HTTP oraz adresów URL to przede wszystkim dokumenty HTML.
Adresy URL w hiperłączach (ang. hiperlinks)
Adresy ULR mogą być używane w hiperłączach.
Hiperłącze (inaczej łącze lub link) to referencja do zasobu cyfrowego, za którą może podążyć użytkownik.
Na przykład, hiperłącze w HTML zbudowane jest używając elementu anchor
, a wartość jego atrybutu href
(ang. hypertext reference) może być oznaczona jako URL.
<a
href="https://soundof.it/co-to-jest-url"
>
Co to jest URL?
</a>
Atrybut href
może być również oznaczony jako relatywny URL (ang. relative URL).
Relatywny URL (ang. relative URL) to URL, w którym protokół oraz źródło (ang. authority) nie są wskazane wprost, a w sposób dorozumiany poprzez podstawienie odpowiednich wartości z URL zasobu aktualnie podlegającego dostępowi.
<a
href="/co-to-jest-url"
>
Co to jest URL?
</a>
Konwersja i kodowanie URL
Dany URL może zostać użyty do transmisji danych poprzez sieć Internet, gdy składa się z bezpiecznych znaków ASCII.
Znak spoza ASCII, aby zostać użytym w URL, musi być skonwertowanym do tak zwanego Punycode składającego się z bezpiecznych znaków ASCII.
Przykładem znaku spoza ASCII jest ♥
, który, aby być użytym w URL, musi zostać skonwertowany do xn--g6h
.
Znak ASCII, który nie jest uznany za bezpieczny, aby być użytym w URL musi zostać zakodowany do zestawu bezpiecznych znaków ASCII składającego się z prefiksu %
oraz następującego po nim numeru heksadecymalnego (ang. hexadecimal).
Przykładem znaku ASCII, który nie jest uznany za bezpieczny, jest znak spacja
, który musi być zakodowany do +
lub %20
Adres IRI (ang. Internationalized Resource Identifier)
IRI, czyli Zinternacjonalizowany Identyfikator Zasobów (ang. Internationalized Resource Identifier) to URL, który na potrzeby internacjonalizacji, może składać się ze znaków Unicode (w przeciwieństwie do standardowych znaków URL z ASCII).
Większość współczesnych przeglądarek wspiera adresy IRI.
Na potrzeby transmisji poprzez Internet, znaki spoza ASCII w IRI konwertowane są do tak zwanego kodu Punycode, który składa się tylko z bezpiecznych znaków ASCII.
Przykładem znaku Unicode spoza ASCII jest 人
, który musi być skonwertowany do xn--gmq
.
Nazwa domeny w IRI, która zawiera w sobie zinternacjonalizowane znaki, określana jest IDN, czyli Zinternacjonalizowaną Nazwą Domeny (ang. Internationalized Domain Name).