URL (Uniform Resource Locator) to ujednolicony adres, który jednoznacznie wskazuje, gdzie w sieci leży konkretny zasób — stronę, obrazek, plik PDF czy endpoint API — i jak się do niego dobrać. To ten ciąg, który wpisujesz w pasek przeglądarki albo wklejasz koledze na Slacku. Formalnie URL jest podtypem URI (Uniform Resource Identifier): URI identyfikuje zasób, a URL dodatkowo mówi, jak go zlokalizować.
Z czego składa się URL
Weź adres https://sklep.example.com:443/produkty/buty?rozmiar=42&kolor=czarny#opinie i rozłóż go na części:
- schemat (protokół) —
https: jak komunikować się z zasobem (najczęściejhttps, ale teżhttp,ftp,mailto,file). - host / domena —
sklep.example.com: gdzie stoi serwer (subdomena + domena). - port —
443: zwykle pomijany, bo przeglądarka zna domyślne (80 dla http, 443 dla https). - ścieżka (path) —
/produkty/buty: który konkretny zasób na serwerze. - query string —
?rozmiar=42&kolor=czarny: parametry doczepione do żądania. - fragment —
#opinie: kotwica w obrębie strony, obsługiwana po stronie przeglądarki (nie leci na serwer).
Jak to działa w praktyce
Gdy wejdziesz pod URL, przeglądarka rozbija go na części, zamienia domenę na adres IP przez DNS, łączy się z serwerem po wskazanym protokole i prosi o zasób spod danej ścieżki. Cała ta drabinka zaczyna się od jednego stringa.
Praktyczny przykład — szybki test z konsoli. curl -I https://learningzone.pl/ zwróci same nagłówki odpowiedzi, więc od razu zobaczysz status (np. 200 albo 301) i dokąd ewentualnie prowadzi przekierowanie. W JavaScripcie nie parsuj URL-i ręcznie regexem — masz wbudowany obiekt: new URL('https://example.com/a?x=1').searchParams.get('x') grzecznie wyciągnie wartość 1.
Częste pułapki
- Spacje i polskie znaki muszą być zakodowane (percent-encoding): spacja to
%20,łzamienia się w ciąg bajtów. Od tego jestencodeURIComponent(). - URL kontra URI kontra URN — to nie synonimy. URL lokalizuje, URN nazywa, URI to pojęcie nadrzędne.
- Trailing slash ma znaczenie —
/blogi/blog/serwer może traktować jako dwa różne adresy. W SEO to klasyczny powód duplikatów. - Wielkość liter — schemat i domena są case-insensitive, ale ścieżka na Linuksie zwykle nie.
/Foto.pngto nie to samo co/foto.png.
Pojęcia powiązane: URI, URN, DNS, HTTP/HTTPS, domena, query string, slug, percent-encoding, przekierowanie 301.