Punycode-muunnoksen toimintaperiaate kansainvälisissä verkkotunnuksissa
Punycode on menetelmä, jonka avulla kansainväliset verkkotunnukset (Internationalized Domain Names, IDN) muunnetaan ASCII-merkistömuotoon. Internetin nimipalvelujärjestelmä (DNS) on historiallisesti suunniteltu tukemaan vain rajoitettua määrää ASCII-merkkejä. Kun verkkotunnuksessa halutaan käyttää muita kuin perinteisiä englanninkielisiä aakkosia – esimerkiksi merkkejä ü, 例 tai भारत – ne on muunnettava muotoon, jota nimipalvelimet osaavat käsitellä.
Punycode-muunnin suorittaa tämän käännöksen kahteen suuntaan. Se voi muuntaa Unicode-muotoisen verkkotunnuksen (kuten bücher.example) ASCII-yhteensopivaksi Punycode-tunnukseksi (kuten xn--bcher-kva.example). Tätä kutsutaan Unicode -> Punycode -muunnokseksi. Samoin työkalu voi suorittaa käänteisen muunnoksen eli purkaa "xn--"-alkuisen ASCII-tunnuksen takaisin alkuperäiseksi Unicode-muodoksi (Punycode -> Unicode). Muunnos tapahtuu reaaliaikaisesti sitä mukaa kun tekstiä kirjoitetaan tai liitetään syötekenttään.
Verkkotunnuksen ja URL-osoitteen erot syötteessä
Työkalua käytettäessä on tärkeää erottaa toisistaan kokonainen URL-osoite ja pelkkä verkkotunnus eli isäntänimi. Tämä työkalu on suunniteltu käsittelemään vain verkkotunnuksia.
Syötteeseen ei saa sisällyttää seuraavia URL-osoitteen osia:
- Protokollaosuutta (kuten
https://taihttp://) - Polkuja (kuten
/sivu/hakemisto) - Kyselymerkkijonoja (kuten
?haku=termi) - Ankkureita tai fragmentteja (kuten
#osio)
Sallittuja syötemuotoja ovat pelkät verkkotunnukset, kuten Unicode-muotoinen bücher.example tai Punycode-muotoinen xn--bcher-kva.example. Jos syötteessä käytetään kiellettyjä rakenteita tai protokollia, työkalu ilmoittaa virheestä eikä suorita muunnosta.
Sallitut ja kielletyt verkkotunnusmuodot
Verkkotunnuksen rakenteelle on asetettu tarkat säännöt, jotta se on teknisesti kelvollinen ja muunnettavissa. Kaikki syötteet, jotka eivät noudata näitä sääntöjä, johtavat virheilmoitukseen ja tuloskentän tyhjenemiseen.
Seuraavat säännöt määrittävät kelvollisen syötteen:
- Ei välilyöntejä: Verkkotunnus ei saa sisältää lainkaan välilyöntejä.
- Ei tyhjiä osia: Verkkotunnuksen pisteiden välissä olevat osat (labels) eivät saa olla tyhjiä.
- Yhdysviivojen rajoitukset: Osien alussa tai lopussa ei saa olla yhdysviivoja.
- Pituusrajoitukset muunnoksen jälkeen: Verkkotunnuksen osat eivät saa olla liian pitkiä sen jälkeen, kun ne on muunnettu Punycode-muotoon.
- Kokonaispituus: Työkalun hyväksymä syötteen enimmäispituus on 10 000 merkkiä.
Työkalu tukee yhtä poikkeusta verkkotunnuksen lopussa: se säilyttää verkkotunnuksen perässä olevan yksittäisen päätöspisteen muunnoksen aikana.
Käyttöliittymän tilat ja virheilmoitukset
Työkalu käyttää tiettyjä tilaviestejä ja virheilmoituksia ohjaamaan käyttäjää muunnosprosessin aikana. Käyttöliittymässä näkyvät seuraavat ilmoitukset tilanteesta riippuen:
- Valmis. Liitä muunnettava verkkotunnus. – Tämä viesti näkyy, kun työkalu on valmis vastaanottamaan syötteen.
- Muunnetaan... – Näytetään lyhyesti muunnostapahtuman aikana.
- Muunnettu. – Ilmoittaa, että muunnos on suoritettu onnistuneesti.
- Liitä ensin verkkotunnus. – Näytetään, jos yritetään suorittaa toimintoja tyhjällä syötteellä.
- Tämä ei ole kelvollinen verkkotunnus. Käytä nimeä ilman protokollaa, polkua tai välilyöntejä. – Virheilmoitus, joka tulee näkyviin, jos syöte sisältää kiellettyjä merkkejä, protokollia tai vääränlaisen rakenteen.
- Syöte on liian pitkä tälle työkalulle. Pidä se alle
{max}merkin pituisena. – Virheilmoitus, jos syötteen pituus ylittää 10 000 merkin rajan. - Tämän verkkotunnuksen muuntaminen epäonnistui. – Yleinen virheilmoitus tilanteissa, joissa muunnosta ei voida suorittaa loppuun.
- Tyhjennetty. – Vahvistus siitä, että syöte- ja tuloskentät on tyhjennetty.
- Esimerkki ladattu. – Viesti, joka näytetään, kun käyttäjä lataa esimerkkidatan testausta varten.
- Tulos siirretty syötteeksi. – Ilmoittaa, että aiemmin luotu tulos on siirretty uuden muunnoksen lähtökohdaksi.
Kun muunnossuuntaa vaihdetaan valinnalla "Unicode -> Punycode" tai "Punycode -> Unicode", syötekentän vihjeteksti (placeholder) päivittyy vastaamaan valittua suuntaa. Unicode-suunnan vihjetekstinä on bücher.example ja Punycode-suunnan vihjetekstinä xn--bcher-kva.example.
Tilastotiedot ja tekniset mittarit
Jokaisen onnistuneen muunnoksen yhteydessä työkalu laskee ja näyttää kolme keskeistä mittaria syötteen ja tuloksen rakenteesta:
| Mittari | Kuvaus |
|---|---|
| Syöte | Syötettyjen merkkien kokonaismäärä. |
| Tuloste | Muunnetun tuloksen merkkien kokonaismäärä. |
| Osat (Labels) | Verkkotunnuksen sisältämien, pisteellä erotettujen osien lukumäärä. |
Nämä tiedot auttavat hahmottamaan, miten verkkotunnuksen pituus muuttuu, kun se siirretään esitysmuodosta toiseen. Erityisesti pitkien kansainvälisten osien muuntaminen Punycode-muotoon voi kasvattaa merkkien määrää huomattavasti, sillä jokainen muunnettu osa saa etuliitteen "xn--".
Tietosuoja ja tekninen toteutus
Tämän työkalun tietosuojaperiaate on suoraviivainen: verkkotunnuksen muuntaminen tapahtuu suoraan käyttäjän selaimessa. Syötettyjä verkkotunnuksia tai muita tietoja ei lähetetä BroBroGo-palveluun. Kaikki käsittely tapahtuu paikallisesti käyttäjän omassa laitteessa.
Usein kysytyt kysymykset
Mihin Punycodea käytetään?
Punycode mahdollistaa sellaisten verkkotunnusten, jotka sisältävät erikoismerkkejä kuten ü, 例 tai भारत, esittämisen ASCII-muodossa xn---alkuisina tunnuksina.
Pitäisikö minun liittää kokonainen URL-osoite?
Käytä pelkkää palvelimen nimeä tai verkkotunnusta, kuten bücher.example tai xn--bcher-kva.example. Jätä pois https://, polut, kyselymerkkijonot ja ankkurit.
Miksi verkkotunnukseni hylättiin?
Kelvollinen verkkotunnus ei voi sisältää välilyöntejä, tyhjiä osia, yhdysviivoja osien alussa tai lopussa, eikä osia, jotka ovat muunnoksen jälkeen liian pitkiä.
Ketkä tarvitsevat Punycode-muunninta?
Työkalua tarvitsevat kehittäjät, jotka työskentelevät kansainvälisten verkkotunnusten parissa, verkkotunnusten ylläpitäjät, hakukoneoptimoinnin (SEO) asiantuntijat, tietoturva-auditoijat sekä kaikki ne, joiden täytyy esittää erikoismerkkejä sisältäviä verkkotunnuksia ASCII-muodossa.