URL

Adres jednoznacznie wskazujący lokalizację zasobu w internecie, np. strony lub pliku. Zawiera protokół, domenę i ścieżkę.

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ęściej https, ale też http, ftp, mailto, file).
  • host / domenasklep.example.com: gdzie stoi serwer (subdomena + domena).
  • port443: 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 jest encodeURIComponent().
  • URL kontra URI kontra URN — to nie synonimy. URL lokalizuje, URN nazywa, URI to pojęcie nadrzędne.
  • Trailing slash ma znaczenie/blog i /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.png to nie to samo co /foto.png.

Pojęcia powiązane: URI, URN, DNS, HTTP/HTTPS, domena, query string, slug, percent-encoding, przekierowanie 301.