Parser adresów URL
Rozłóż adres URL na protokół, host, ścieżkę i parametry zapytania
O tym narzędziu
Wklej adres URL i zobacz go rozłożonego na części: protokół, host, port, ścieżkę, fragment oraz każdy parametr zapytania w postaci zdekodowanej tabeli klucz–wartość. Narzędzie korzysta z tego samego parsera URL według WHATWG, którego Twoja przeglądarka używa przy nawigacji, więc interpretacja na ekranie jest tą, którą przeglądarka faktycznie zastosuje — łącznie z przypadkami brzegowymi, jak pomijanie domyślnych portów i normalizowanie ścieżek.
Tabela parametrów zapytania przyda się najczęściej: długie przekierowania OAuth, linki otagowane pod analitykę i wywołania API stają się czytelne na pierwszy rzut oka, a każda wartość jest już zdekodowana z zapisu procentowego. Same domeny bez schematu też są akceptowane; do parsowania przyjmowane jest https://.
Narzędzie tworzy naturalną parę z koderem URL — sparsuj tutaj adres, znajdź potrzebny parametr, popraw wartość, a potem zakoduj ją tam z powrotem.
Często zadawane pytania
- Dlaczego sparsowany URL różni się nieco od tego, co wkleiłem?
- Parser WHATWG normalizuje adres: zamienia schemat i host na małe litery, usuwa domyślne porty (:443 dla https), rozwiązuje segmenty ./ i ../ oraz koduje znaki, które tego wymagają. To, co widzisz, to postać kanoniczna, co do której serwery i przeglądarki są zgodne.
- Czy obsłuży adresy z powtórzonymi kluczami w zapytaniu?
- Tak — każde wystąpienie trafia do własnego wiersza, w kolejności występowania. Powtórzone klucze są legalne i częste: wiele API czyta je jako tablice (?tag=a&tag=b).
- Czym różni się host od hostname?
- hostname to sama domena (example.com); host zawiera dodatkowo jawnie podany, niedomyślny port (example.com:8080). Gdy port jest domyślny dla schematu, oba wyglądają tak samo, bo port zostaje pominięty.
- Czy fragment (#...) trafia na serwer?
- Nie. Wszystko po znaku # zostaje w przeglądarce — serwery nigdy tego nie widzą. Właśnie dlatego aplikacje jednostronicowe historycznie używały go do routingu po stronie klienta i dlatego parametry analityczne umieszczone po # są dla backendu niewidoczne.