W tym artykule
Zrozumienie struktury URL
URL (Uniform Resource Locator) to adres zasobu w sieci. Każdy URL ma ustrukturyzowany format, ktory mowi przeglądarce, dokąd przejść i jak tam dotrzec. Zrozumienie tej struktury jest niezbędne dla programistow, specjalistow SEO i każdego, kto pracuje z API.
Pełny URL moze zawierac do siedmiu odrebnych komponentow: schemat (protokół), nazwe użytkownika i hasło (uwierzytelnianie), hosta (domene), port, ścieżkę, ciag zapytania i fragment (hash). Większość URL używa tylko kilku z nich, ale znajomość wszystkich pomaga debugowac złożone adresy URL.
Jak działa parsowanie URL
Parsowanie URL rozkłada ciag URL na poszczegolne komponenty zgodnie z RFC 3986. Każdy komponent ma specyficzne zasady dotyczące dozwolonych znakow i ich znaczenia.
- Protokół (schemat) — metoda dostępu do zasobu: http, https, ftp, mailto lub niestandardowe schematy jak myapp://
- Host — nazwa domeny lub adres IP serwera. Moze zawierac subdomeny (api.example.com) lub byc adresem IPv4/IPv6
- Sciezka — konkretna lokalizacja zasobu na serwerze. Segmenty sa oddzielone ukosnikami i moga zawierac zakodowane znaki
Wypróbuj za darmo — bez rejestracji
Parsuj URL →Praca z parametrami zapytania
Parametry zapytania to pary klucz-wartość dodawane do URL po znaku zapytania (?). Sa najczęstszym sposobem przekazywania danych w zapytaniach GET i sa szeroko stosowane w API, sledzeniu analitycznym i funkcjonalności wyszukiwania.
- Podstawowy format — parametry używają par klucz=wartość rozdzielonych ampersandami: ?page=2&sort=name&order=asc
- Kodowanie URL — znaki specjalne musza byc kodowane procentowo: spacje staja sie %20 lub +, ampersandy w wartościach staja sie %26
- Parametry tablicowe — niektorce API używają powtarzanych kluczy (color=red&color=blue) lub notacji nawiasowej dla tablic
- Puste i brakujące wartości — ?key= (pusty ciag) różni sie od ?key (brak wartości) w wielu frameworkach serwerowych
- Kolejność parametrow — technicznie parametry URL sa nieuporzadkowane, ale niektorce API zależą od kolejności dla cachowania lub walidacji podpisu
Wskazowki dotyczące debugowania URL
Adresy URL, ktore wyglądają poprawnie na pierwszy rzut oka, moga zawierac subtelne problemy kodowania, brakujące komponenty lub nieoczekiwane znaki. Te wskazowki pomagaja szybko wykryc typowe problemy.
- Zawsze dekoduj przed czytaniem — URL zakodowane procentowo sa trudne do odczytania. Najpierw dekoduj, aby zobaczyc faktyczne wartości
- Sprawdź podwojne kodowanie — %2520 oznacza, ze sam znak procentu zostal zakodowany (%25 = %), co wskazuje na podwojne kodowanie
- Uważaj na końcowe ukosniki — /api/users i /api/users/ moga byc roznie trasowane w zależności od konfiguracji serwera
- Sprawdź fragment — fragment hash nigdy nie jest wysyłany do serwera. Jeśli twoj kod serwerowy go potrzebuje, musisz uzyc innego podejścia
- Zwaliduj hosta — literowki w nazwach domen sa częste. Sprawdź brakujące kropki, zamienione znaki lub bledne TLD
Często zadawane pytania
Jaka jest różnica między URL, URI i URN?
URI (Uniform Resource Identifier) to ogolny termin dla dowolnego identyfikatora zasobu. URL (Uniform Resource Locator) to URI zawierający lokalizacje i metode dostępu. URN (Uniform Resource Name) to URI nazywajacy zasob bez określania lokalizacji. W praktyce większość osob używa URL i URI zamiennie.
Dlaczego niektorce znaki URL sa kodowane znakami procentu?
Kodowanie URL konwertuje znaki mające specjalne znaczenie w URL na bezpieczny format. Na przykład, spacja staje sie %20, poniewaz spacje nie sa prawidłowe w URL. Ampersand (&) rozdziela parametry zapytania, wiec literalny ampersand w wartości musi byc zakodowany jako %26.
Jak długi moze byc URL?
Nie ma oficjalnego limitu w specyfikacji HTTP. Większość przeglądarek obsługuje URL do około 2 048 znakow. Nowoczesne przeglądarki jak Chrome obsługują do 2MB. Limity serwerowe sie różnią. Dla maksymalnej kompatybilności trzymaj URL poniżej 2 000 znakow i używaj zapytan POST dla dużych ladunkow danych.