Czym jest kodowanie URL?
Kodowanie URL jest fundamentalną częścią tego, jak internet przenosi dane. Za każdym razem, gdy przesyłasz formularz, klikasz link z parametrami lub używasz API, kodowanie URL działa za kulisami.
Podstawy
URL-e mogą zawierać tylko określone znaki. Znaki specjalne muszą być zastąpione bezpiecznymi reprezentacjami. Format kodowania: Znak procenta, a następnie dwa cyfry hex. Spacja staje się %20. Znak @ staje się %40. Znak & staje się %26. Dlaczego procentowe kodowanie? Symbol % został wybrany, ponieważ nie miał innego specjalnego znaczenia w URL-ach. Dwie cyfry hex mogą reprezentować dowolny znak ASCII (0-255). Powszechne kodowania: Spacja: %20 (lub + w formularzach), !, ", #, $, %, &, ', (, ), *, +, ,, /, :, ;, =, ?, @, [, ], {, }, | wszys tkie wymagają kodowania w wartościach. Kiedy kodować: Zawsze koduj wartości dostarczane przez użytkownika w URL-ach. Zawsze koduj przed dodaniem do łańcucha zapytania. Nigdy nie koduj dwukrotnie — sprawdź, czy wartość jest już zakodowana.
W JavaScript
JavaScript zapewnia funkcje do kodowania URL: encodeURI() — koduje pełne URL, pozostawiając: / ? # nienaruszony. encodeURIComponent() — koduje komponenty (parametry), kodując wszystkie znaki specjalne. Używaj encodeURIComponent() dla: Wartości parametrów, łańcuchów zapytania, dowolnych danych dostarczanych przez użytkownika, ścieżek zawierających znaki specjalne. Używaj encodeURI() dla: Kompletnych URL-ów, gdy zachowujesz strukturę URL. Rzadko potrzebne — zazwyczaj budujesz URL z zakodowanych komponentów. Dekodowanie: decodeURIComponent() i decodeURI() odwracają kodowanie. Używaj odpowiedniego dekodera dla tego, co zakodowałeś. Powszechne pułapki: Zapomnienie kodować dane użytkownika, podwójne kodowanie (kodowanie raz po stronie klienta, ponownie po stronie serwera), używanie nieprawidłowej funkcji (encodeURI dla wartości parametrów).
Wypróbuj Narzędzie
Koder/Dekoder URL