Wróć do strony głównej Programista Koder URL

Koder URL

Koduj i dekoduj URL

Jak używać Koder URL

Koduj i dekoduj URL Darmowe narzędzie online, bez rejestracji, bez nachalnych reklam. Użyj teraz.

Kiedy potrzebne jest kodowanie URL?

URL może zawierać tylko ograniczony zestaw znaków ASCII. Spacje, polskie znaki (ą, ę, ó, ś, ź, ż, ć, ń), znaki interpunkcji i znaki spoza ASCII muszą być zakodowane jako sekwencje procentowe (%XX) dla bezpiecznego przesyłania w URL. Szczególnie ważne dla serwisów obsługujących polskojęzyczne treści.

Zasady kodowania: Litery (A–Z, a–z), cyfry (0–9) i znaki -_.~ nigdy nie są kodowane. Wszystkie pozostałe są kodowane jako % plus dwie cyfry hex wartości bajtowej UTF-8. Jeden polski znak diakrytyczny zajmuje 2 bajty (4 cyfry hex) w UTF-8 — np. 'ą' to %C4%85.

Jaka jest różnica między encodeURI a encodeURIComponent w JavaScript?

encodeURI koduje cały URL, nie dotykając znaków strukturalnych mających znaczenie w URL (/, ?, &, #, :). encodeURIComponent koduje wszystko poza literami, cyframi i -_.~. Do kodowania wartości poszczególnych parametrów zawsze używaj encodeURIComponent.

Jaka jest różnica między + a %20 dla spacji?

Oba reprezentują spację w kodowaniu URL, ale w różnych kontekstach. %20 jest poprawną reprezentacją spacji w każdym komponencie URL. Znak + reprezentuje spację tylko w application/x-www-form-urlencoded (dane formularzy HTML) — nie w segmentach ścieżki.

Dlaczego podwójne kodowanie jest problemem?

Jeśli URL zawiera %252F, to zakodowany %2F (który sam jest kodowaniem /). Jedno dekodowanie daje %2F, dwa — /. Podwójne kodowanie pojawia się przy wielokrotnym kodowaniu URL. Może być podatnością path traversal jeśli serwer wielokrotnie dekoduje URL.

Jakie znaki trzeba kodować w segmencie ścieżki URL?

Zarezerwowane znaki ze specjalnym znaczeniem: spacja (%20), # (%23), % (%25), ? (%3F) i inne. Ukośnik / to separator ścieżki — literalny ukośnik w segmencie ścieżki koduj jako %2F.

Co to jest Punycode?

Punycode konwertuje internacjonalizowane nazwy domen (IDN) z znakami spoza ASCII na kodowanie kompatybilne z ASCII. Domeny z polskimi znakami (jak przykład.pl) są konwertowane do Punycode do transmisji. To różni się od kodowania procentowego stosowanego do ścieżek i zapytań URL.

Kodowanie URL vs Base64 vs encje HTML

Kodowanie URL (kodowanie procentowe) sprawia, że dane są bezpieczne dla URL. Base64 sprawia, że dane binarne są bezpieczne dla kontekstów tekstowych (email, JSON). Encje HTML sprawiają, że znaki specjalne są bezpieczne dla HTML: & staje się &, < staje się <. Każde rozwiązuje ten sam problem (reprezentowanie danych w ograniczonym zestawie znaków) dla innego kontekstu docelowego.

☕ Buy me a coffee