Jak używać
- Wklej pełny URL, zawierający https:// lub inny schemat.
- Sprawdź tabelę komponentów. Użyj przycisków kopiowania, aby skopiować pojedynczy element, na przykład nazwę hosta lub ścieżkę.
- Sprawdź parametry zapytania: wartości są wyświetlane w formie zdekodowanej i w pierwotnej kolejności, a powtarzające się nazwy są zachowywane.
- Zmień, dodaj lub usuń parametry, a następnie skopiuj ponownie utworzony URL.
Jak to działa
To narzędzie korzysta z parsera URL wbudowanego w przeglądarkę (standardu WHATWG URL), dlatego wynik odpowiada temu, co robią przeglądarki podczas otwierania linku. URL jest normalizowany w ten sam sposób: schemat i nazwa hosta są zamieniane na małe litery, domyślne porty, takie jak 443 dla https, są usuwane, a ścieżki, takie jak /a/../b, są rozwiązywane.
Wyświetlane elementy to: protokół (schemat), nazwa użytkownika i hasło, jeśli URL zawiera dane logowania, host z portem, sama nazwa hosta, port, ścieżka, ciąg zapytania rozpoczynający się od ?, fragment rozpoczynający się od # oraz origin (schemat, host i port), używany przez przeglądarki do sprawdzania zabezpieczeń same-origin. Hasło pozostaje ukryte, dopóki nie klikniesz przycisku z ikoną oka.
Parametry zapytania są odczytywane za pomocą URLSearchParams. Wartości są dekodowane procentowo, a + jest odczytywany jako spacja, tak jak w przypadku danych przesyłanych przez formularze HTML. Parametry występujące więcej niż raz, takie jak size=42&size=43, są wyświetlane osobno i w kolejności występowania, ponieważ wiele serwerów odczytuje je jako listę.
Po edycji parametrów ciąg zapytania jest ponownie tworzony za pomocą URLSearchParams. Może to zmienić zapis nieedytowanych elementów: spacja jest zapisywana jako +, a znaki takie jak ' lub ~ mogą być kodowane inaczej. Znaczenie pozostaje takie samo dla serwerów odczytujących zapytania w formacie formularza.
Nazwy hostów zawierające znaki spoza ASCII (międzynarodowe nazwy domen) są konwertowane przez parser URL na punycode, na przykład münchen.de zmienia się w xn--mnchen-3ya.de. Narzędzie pokazuje obie formy.
Przykłady
Sprawdzanie parametrów śledzących
Wklej link do kampanii, na przykład https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale, aby zobaczyć zdekodowane wartości parametrów utm_ (”spring sale”), usunąć zbędne i skopiować oczyszczony link.
Debugowanie URL przekierowania
Link logowania zawiera parametr redirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2. Tabela parametrów pokazuje zdekodowaną wartość https://app.example.com/dashboard?tab=2, dzięki czemu możesz sprawdzić, dokąd dokładnie zostanie przekierowany użytkownik.
Ustalanie origin dla CORS
Dla https://api.example.com:8443/v1/users?id=7 origin to https://api.example.com:8443. Nagłówek Access-Control-Allow-Origin musi zawierać dokładnie ten ciąg, bez ścieżki i końcowego ukośnika.
Często zadawane pytania
Czym różnią się host i nazwa hosta?
Nazwa hosta to tylko domena lub adres IP (example.com). Host obejmuje również port, jeśli URL określa port inny niż domyślny (example.com:8443). W przypadku https://example.com:443/ oba pola mają wartość example.com, ponieważ 443 jest domyślnym portem dla https i zostaje usunięty.
Dlaczego pojawia się błąd informujący o braku schematu w URL?
Bez schematu, takiego jak https://, „example.com/page” nie jest bezwzględnym adresem URL, a „example.com:8080” zostałby nawet odczytany jako URL ze schematem „example.com”. Narzędzie może dodać za Ciebie https://.
Dlaczego + jest wyświetlany jako spacja w wartościach parametrów?
Ciągi zapytania są zwykle odczytywane jako dane formularza (application/x-www-form-urlencoded), w których + oznacza spację. Znak plusa należy przesłać jako %2B. Tak działają URLSearchParams i większość frameworków serwerowych.
Co dzieje się z parametrami o tej samej nazwie?
Wszystkie są zachowywane w pierwotnej kolejności, a każdy z nich otrzymuje osobny wiersz. Usunięcie wiersza usuwa tylko dane wystąpienie parametru.
Czym jest punycode?
DNS obsługuje tylko nazwy hostów złożone ze znaków ASCII, dlatego międzynarodowe nazwy domen są kodowane jako etykiety zaczynające się od xn--. Na przykład bücher.example jest wysyłane jako xn--bcher-kva.example. Przeglądarki zwykle wyświetlają czytelną formę w pasku adresu.
Prywatność
URL jest analizowany przez wbudowany w przeglądarkę parser URL. Nie wysyłamy żadnych żądań do tego adresu, a wklejona treść nie jest przesyłana, zapisywana ani uwzględniana w statystykach.