Utilia

URL parser

Zalijepi URL da vidiš protokol, host, port, segmente putanje, dekodirane parametre upita i fragment, zatim uredi parametre i ponovo sastavi URL.

Kako analizirati URL

  1. Zalijepi URL u polje URL za analizu. Analizira se dok pišeš; možeš i pritisnuti Enter ili kliknuti na Analiziraj URL.
  2. Pročitaj dijelove: Protokol, Naziv hosta, Port, Host (s portom), Porijeklo (origin), Korisničko ime, Lozinka, Putanja i Fragment (#).
  3. Pogledaj listu Segmenti putanje i tabelu Parametri upita, koja prikazuje svaki ključ i vrijednost dekodirane, uz Izvorno tekst.
  4. U odjeljku Uredi i ponovo sastavi promijeni ključ ili vrijednost, klikni na Dodaj parametar ili Ukloni, ili uredi fragment. Ponovo sastavljeni URL se osvježava dok pišeš.
  5. Klikni na Kopiraj da kopiraš novi URL.

Ako zalijepiš adresu bez sheme, poput example.com/page, alat pretpostavlja https:// i to navodi.

Dijelovi URL-a

Alat koristi ugrađeni parser URL-a u pregledniku, koji prati WHATWG URL standard, pa vidi adresu tačno onako kako je vidi preglednik. Uzmimo https://ann:secret@shop.example.com:8080/en/products?size=M#reviews:

  • Protokol (https:) je shema koja pregledniku kaže kako da dohvati resurs.
  • Korisničko ime i Lozinka (ann, secret) su opcionalne vjerodajnice. Lozinka je po zadanom maskirana; označi Prikaži lozinku da je vidiš. Preglednici sada uklanjaju ili odbijaju takve vjerodajnice u linkovima, a URL koji ih sadrži nikada ne treba dijeliti.
  • Naziv hosta (shop.example.com) je naziv servera. Internacionalizovani nazivi domena prikazuju se u punycode obliku (xn--…), što koristi DNS.
  • Port (8080) se prikazuje kada ga URL navodi. Inače alat bilježi zadani port sheme: 80 za http i ws, 443 za https i wss, 21 za ftp. Port jednak zadanom, poput :443 na https, parser izostavlja.
  • Host (s portom) spaja oba, a Porijeklo (origin) je shema + host + port, jedinica koju preglednici koriste za sigurnosna pravila poput CORS-a.
  • Putanja (/en/products) se dijeli na Segmenti putanje, svaki postotno dekodiran, pa caf%C3%A9 glasi café.
  • Fragment (#) (reviews) upućuje na dio stranice. Nikada se ne šalje serveru.

Parametri upita

Niz upita se dijeli po &, a svaki par po prvom =. Ključevi i vrijednosti dekodiraju se onako kako ih kodiraju HTML obrasci: sekvence %XX postaju znakovi, a + postaje razmak. Ponovljeni ključevi, uobičajeni za filtere i polja s višestrukim izborom (size=M&size=L), svi se zadržavaju i redom označavaju kao „(ponovljeno 1/2)“, „(ponovljeno 2/2)“. Ključ bez = prikazuje se s praznom vrijednošću. Kada se sekvenca ne može dekodirati, prikazuje se izvorni tekst.

Uređivanje i ponovno sastavljanje

Uređivač počinje s trenutnim parametrima. Prazni redovi se zanemaruju. Novi niz upita kodira se kao slanje obrasca, kao što to radi URLSearchParams: razmaci postaju +, a rezervisani znakovi poput &, = ili # se postotno kodiraju, pa ih vrijednost može sigurno sadržavati. To je zgodno za uklanjanje parametara za praćenje, promjenu broja stranice ili izradu testnih linkova. Dok je lozinka skrivena, maskirana je i u polju Ponovo sastavljeni URL, ali Kopiraj kopira pravi URL.

Sve radi u tvom pregledniku. Adresa se ne posjećuje i ništa se ne šalje na server.

Česta pitanja

Zašto alat kaže da moj URL nije ispravan?

Najčešći uzroci su razmaci u hostu, port veći od 65535, host koji nedostaje iza https:// ili znakovi koji nisu dozvoljeni u nazivu hosta. Tekst bez tačke, poput jedne riječi, također se ne tretira kao naziv hosta.

Posjećuje li se URL ili šalje negdje?

Ne. Adresa se samo analizira u tvom pregledniku. Nikakav zahtjev se ne šalje na stranicu.

Zašto je %20 postao + u ponovo sastavljenom URL-u?

Oba znače razmak u nizu upita. Ponovno sastavljanje koristi kodiranje obrasca koje proizvode preglednici i većina serverskih okvira, a ono razmake piše kao +.

Podržava li mailto:, tel: ili data: URL-ove?

Podržava. I oni se analiziraju, ali nemaju host ni port: njihov sadržaj se pojavljuje u polju Putanja.

Koja je razlika između Host i Naziv hosta?

Naziv hosta je samo ime. Host (s portom) dodaje port kada je izričito naveden, kao u example.com:8080.