W tym artykule
Zrozumienie struktury URL
URL (Uniform Resource Locator) to adres zasobu w sieci. Kazdy URL ma ustrukturyzowany format, ktory mowi przegladarce, dokad przejsc i jak tam dotrzec. Zrozumienie tej struktury jest niezbedne dla programistow, specjalistow SEO i kazdego, kto pracuje z API.
Pelny URL moze zawierac do siedmiu odrebnych komponentow: schemat (protokol), nazwe uzytkownika i haslo (uwierzytelnianie), hosta (domene), port, sciezke, ciag zapytania i fragment (hash). Wiekszosc URL uzywa tylko kilku z nich, ale znajomosc wszystkich pomaga debugowac zlozone adresy URL.
Jak dziala parsowanie URL
Parsowanie URL rozklada ciag URL na poszczegolne komponenty zgodnie z RFC 3986. Kazdy komponent ma specyficzne zasady dotyczace dozwolonych znakow i ich znaczenia.
- Protokol (schemat) — metoda dostepu 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-wartosc dodawane do URL po znaku zapytania (?). Sa najczestszym sposobem przekazywania danych w zapytaniach GET i sa szeroko stosowane w API, sledzeniu analitycznym i funkcjonalnosci wyszukiwania.
- Podstawowy format — parametry uzywaja par klucz=wartosc rozdzielonych ampersandami: ?page=2&sort=name&order=asc
- Kodowanie URL — znaki specjalne musza byc kodowane procentowo: spacje staja sie %20 lub +, ampersandy w wartosciach staja sie %26
- Parametry tablicowe — niektorce API uzywaja powtarzanych kluczy (color=red&color=blue) lub notacji nawiasowej dla tablic
- Puste i brakujace wartosci — ?key= (pusty ciag) rozni sie od ?key (brak wartosci) w wielu frameworkach serwerowych
- Kolejnosc parametrow — technicznie parametry URL sa nieuporzadkowane, ale niektorce API zaleza od kolejnosci dla cachowania lub walidacji podpisu
Wskazowki dotyczace debugowania URL
Adresy URL, ktore wygladaja poprawnie na pierwszy rzut oka, moga zawierac subtelne problemy kodowania, brakujace 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 wartosci
- Sprawdz podwojne kodowanie — %2520 oznacza, ze sam znak procentu zostal zakodowany (%25 = %), co wskazuje na podwojne kodowanie
- Uwazaj na koncowe ukosniki — /api/users i /api/users/ moga byc roznie trasowane w zaleznosci od konfiguracji serwera
- Sprawdz fragment — fragment hash nigdy nie jest wysylany do serwera. Jesli twoj kod serwerowy go potrzebuje, musisz uzyc innego podejscia
- Zwaliduj hosta — literowki w nazwach domen sa czeste. Sprawdz brakujace kropki, zamienione znaki lub bledne TLD
Czesto zadawane pytania
Jaka jest roznica miedzy URL, URI i URN?
URI (Uniform Resource Identifier) to ogolny termin dla dowolnego identyfikatora zasobu. URL (Uniform Resource Locator) to URI zawierajacy lokalizacje i metode dostepu. URN (Uniform Resource Name) to URI nazywajacy zasob bez okreslania lokalizacji. W praktyce wiekszosc osob uzywa URL i URI zamiennie.
Dlaczego niektorce znaki URL sa kodowane znakami procentu?
Kodowanie URL konwertuje znaki majace specjalne znaczenie w URL na bezpieczny format. Na przyklad, spacja staje sie %20, poniewaz spacje nie sa prawidlowe w URL. Ampersand (&) rozdziela parametry zapytania, wiec literalny ampersand w wartosci musi byc zakodowany jako %26.
Jak dlugi moze byc URL?
Nie ma oficjalnego limitu w specyfikacji HTTP. Wiekszosc przegladarek obsluguje URL do okolo 2 048 znakow. Nowoczesne przegladarki jak Chrome obsluguja do 2MB. Limity serwerowe sie roznia. Dla maksymalnej kompatybilnosci trzymaj URL ponizej 2 000 znakow i uzywaj zapytan POST dla duzych ladunkow danych.