Zaradi katerih znakov je naslov URL neveljaven?

Zaradi katerih znakov je naslov URL neveljaven?

Ali so to veljavni naslovi URL?

  • `example.com/file[/].html
  • http://example.com/file[/].html

Na splošno lahko URI, kot jih opredeljuje RFC 3986 (glejte Razdelek 2: Znaki), vsebujejo katerega koli od naslednjih 84 znakov:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=

Upoštevajte, da ta seznam ne navaja, kje v URI se lahko pojavijo ti znaki.

Vse druge znake je treba kodirati z odstotnim kodiranjem (%`hh``). Vsak del URI ima dodatne omejitve glede tega, katere znake je treba predstaviti z besedo v odstotni kodi.

Komentarji (25)

Vsi veljavni znaki, ki se lahko uporabijo v URI (URL je vrsta URI), so opredeljeni v RFC 3986.

Vsi drugi znaki se lahko uporabijo v naslovu URL, če so najprej "URL Encoded". Pri tem je treba neveljavni znak zamenjati z določenimi "kodami" (običajno v obliki simbola odstotka (%), ki mu sledi šestnajstmestno število).

Ta povezava, HTML URL Encoding Reference, vsebuje seznam kodiranj za neveljavne znake.

Komentarji (1)

Ni ravno odgovor na vaše vprašanje, ampak potrjevanje url's je res resen p.i.t.a. Verjetno je bolje, da potrdite samo ime domene in pustite del url, ki vsebuje poizvedbo. To so moje izkušnje. Lahko bi se zatekli tudi k pošiljanju sporočila ping na naslov url in preverili, ali je odgovor veljaven, vendar je to morda preveč za tako preprosto nalogo.

Regularnih izrazov za zaznavanje url-jev je veliko, pobrskajte po Googlu :)

Komentarji (2)