URL-koodaaja / -dekoodaaja
Koodaa tai dekoodaa URL-osoitteita ja kyselymerkkijonoja.
Mika on URL-koodaus?
URL-koodaus (eli prosenttikoodaus) on mekanismi merkkien muuntamiseksi, jotka eivat ole sallittuja URL-osoitteissa. Erikoismerkit korvataan prosenttimerkilla ja sen kahdella heksadesimaalinumerolla (esim. valilyonti tulee %20).
URL-osoitteet voivat sisaltaa vain rajoitetun joukon merkkeja RFC 3986 -standardin mukaan: kirjaimet (A-Z, a-z), numerot (0-9) ja muutama erikoismerkki (-, _, ., ~). Kaikki muu on koodattava.
Milloin URL-koodausta tarvitaan?
- Erikoismerkkien valittaminen kyselymerkkijonon parametreissa (esim. ?q=hello%20world).
- Lomakedatan koodaus HTTP POST -pyynnoissa application/x-www-form-urlencoded-sisaltotyypilla.
- API-pyynto-URL:ien muodostaminen ohjelmallisesti kayttajan syotteella.
- URL-osoitteiden upottaminen muiden URL-osoitteiden sisaan (esim. uudelleenohiaosparametrit).
- Unicode-merkkien (aksenttikirjaimet, emojit, CJK-merkit) sisallyttaminen URL-osoitteisiin.
Koodaus vs. purku
Koodaus muuntaa selkotekstin URL-turvalliseksi merkkijonoksi korvaamalla kielletyt merkit prosenttikoodatuilla vastineilla. Purku kaantaa ne takaisin alkuperaisiksi merkeiksi. Esimerkiksi: 'moi maailma' koodataan 'moi%20maailma'.
Tyokalun kayttohje
Liita tai kirjoita teksti syotekenttaan. Valitse koodaus- tai purkutila. Tulos paivittyy valittomasti. Vaihda lahteen ja tulosteen paikkaa napsauttamalla vaihtopainiketta.
Koodattavat merkit
Tama tyokalu kayttaa JavaScriptin encodeURIComponent()-funktiota, joka koodaa kaikki merkit paitsi: A-Z, a-z, 0-9 ja neljae erityismerkkia: - _ . ~. Kaikki muut merkit prosenttikoodataan.
Yleisiaae URL-koodausvirheita
Yleisin virhe on kaksinkertainen koodaus — jo koodatun merkkijonon koodaaminen, jolloin %20 muuttuu %2520:ksi. Tama rikkoo linkit ja kyselymerkkijonot. Tarkista aina, onko merkkijono jo koodattu ennen koodaamista.
Kayttajan syotteen koodaamatta jaettaeminen ennen URL-osoitteeseen lisamistae on tietoturva-aukko. Koodaamaton kayttajan syote voi injektoida ylimaaraisia parametreja tai muuttaa URL:n rakennetta, mikae mahdollistaa avoimen uudelleenohjaushyoekkayksen.
Kaytannon vinkkeja
Web-kehityksessa useimmat kehykset kasittelevat URL-koodauksen automaattisesti lomakkeiden lahetyksissa ja HTTP-asiakaskirjastoissa. Manuaalista koodausta tarvitaan paeasiassa URL:ien manuaalisessa muodostamisessa tai kolmannen osapuolen APIen kaytossa.
Usein kysytyt kysymykset
Mika ero on %20:lla ja +:lla valilyonneissa?
Molemmat edustavat valilyonteja, mutta eri yhteyksisssa. %20 on standardin URL-koodaus valilyonneille ja toimii kaikkialla. + on vanhentunut muoto, jota kaytetaan vain application/x-www-form-urlencoded-lomakedatassa. Suosi %20:ta.
Pitaako UTF-8-merkit koodata?
Kylla. Ei-ASCII-merkit (aksenttikirjaimet, emojit, kiinanlaiset merkit jne.) on ensin koodattava UTF-8:ksi ja sitten prosenttikoodattava. Esimerkiksi ae (U+00E4) tulee %C3%A4 (sen UTF-8 tavuesitys heksadesimaalina).