Informații articol
Punycode, codificare utilizată cu nume de domenii internaționalizate. Permite codarea și reprezentarea caracterelor Unicode pentru a fi utilizate.
Punycode, codificare utilizată cu nume de domenii internaționalizate
Punycode este un standard de codificare dezvoltat pentru a fi utilizat într-un domeniu internaționalizat.
Permite codarea și reprezentarea caracterelor Unicode de a fi utilizate în rezoluția hostname.
Acceptă doar caractere ASCII (American Standard Code for Information Interchange).
Înseamnă că, de exemplu, un nume de domeniu poate fi format din caractere chineze.
Unicode reprezintă mai mult decât niște seturi de caractere internaționale.
Punycode poate fi, de asemenea, utilizat pentru a permite hostname-uri care folosesc emoji.
Acesta nu este un standard acceptat pe scară largă.
Există doar un subset limitat de domenii de nivel superior care acceptă emoji-uri în nume de domeniu.
Informații de background
Tehnologia care alimentează internetul ajunge în anii ’60, fiind dezvoltată în primul rând de americani.
Din această cauză, ASCII a devenit standardul de codificare implicit pentru multe computere și servere.
ASCII era limitat la 128 de caractere cuprinse, în principal, din alfabetul latin, numere și semne de punctuație.
ASCII nu oferea niciun mijloc de codificare a caracterelor din alte sisteme de scriere.
Acest lucru a constituit o barieră de intrare pentru cei care nu puteau citi alfabetul latin.
O asemenea situație a însemnat că afaceri de pe aceste piețe nu puteau folosi nume de domeniu localizate.
Articole recomandate:
Unicode a fost un sistem de codificare dezvoltat pentru a satisface cât mai multe caractere diferite.
ASCII este foarte rar utilizat astăzi, însă mai există software și hardware ce încă rulează pe codarea ASCII.
Pentru a reduce decalajul dintre sistemele Unicode și cele mai vechi ce folosesc ASCII, Punycode a fost creat.
Exemple în utilizarea sistemului Punycode
Sistemul este util pentru procesarea numelor de domeniu internaționalizate.
Ca exemplu, Coreea folosește propriul sistem de caractere numit Hangul.
Caracterele Hangul nu pot fi codate corespunzător folosind ASCII.
Astfel, Punycode ia șiruri codate cu Unicode și le transformă în ceva lizibil (și rezolvabil) folosind ASCII.
Înainte de Punycode, companiile și serviciile trebuiau să-și adapteze mărcile pentru a se potrivi restricțiilor ASCII.
De exemplu, „날씨” înseamnă „vremea” în coreeană.
Un website ar trebui să își schimbe numele de domeniu în ceva de genul „www.weather.co.kr”.
Cu Punycode, pot utiliza un nume de domeniu, precum „www날씨.co.kr.
Permite brandurilor să-și folosească identitatea și serviciile corespunzătoare pentru a fi localizate cu adevărat.
În acest mod, poate crește și conștientizarea mărcii pentru respectivele afaceri.
Ne referim aici în principal la piețele care nu folosesc în mod nativ alfabetul latin.
Asistența Punycode funcționează și pentru domenii de nivel superior.
Astfel, este posibil să aveți hostname pe internet compus în întregime din caractere non-ASCII.
Caracterele respective pot fi rezolvate pe sistemele ASCII cu Punycode.
Pentru șirul „날씨”, Punycode ar converti acest lucru în „xn – i20bj30b”.
Acesta este un șir unic ce permite sistemelor ASCII să citească și să interpreteze folosind caractere în afara ASCII.
Sistemele ASCII vor interpreta adresa URL „www. 날씨 .co.kr” ca „www.xn--i20bj30b.co.kr”.
De remarcat faptul că majoritatea browserelor vor afișa rezultatul Punycode în bara de adrese.
În acest mod, se pot preveni eventualele atacuri de natură phishing.
Atacurile pot avea loc atunci când cineva înregistrează un nume de domeniu folosind un șir codat Punycode.
Anumite șiruri pot fi cumpărate, când sunt interpretate fiind asemănătoare cu domenii ale mărcilor celebre.
De fapt, se schimbă un singur caracter cu unul asemănător vizual dintr-un alt set, ceea ce îl face nedetectabil.
Cum funcționează Punycode?
Punycode funcționează ca o instanță a algoritmului șirului de boot.
Algoritmul permite reprezentarea unui set arbitrar de caractere pentru utilizare într-un set limitat de caractere.
Acest lucru se realizează prin interpretarea oricărui șir transmis și analizat pentru caractere non-ASCII.
Punycode parcurge apoi o serie de pași pentru a crea un șir care poate fi utilizat pe sistemele ASCII.
În primul rând, toate caracterele sunt normalizate, fiind transformate în minuscule, dacă este cazul.
Caracterele sunt căutate pentru compatibilitatea ASCII. Orice caractere găsite ce există în setul ASCII sunt ignorate.
Cu toate acestea, caracterele ASCII non-standard sunt eliminate din text și o cratimă e plasată la sfârșitul șirului.
Dacă se găsesc caractere non-standard, prefixul „xn--” este adăugat la șir.
Acest lucru semnifică faptul că șirul conține ACE (ASCII Compatible Encoding).
Cratima anexată ar trebui interpretată folosind Punycode în loc ca parte a șirului în sine.
Punycode analizează apoi caracterele care nu sunt ASCII.
Sistemul va adăuga un șir de caractere la cratima care folosește ASCII.
În acest mod, se poate dicta ce caractere ar trebui să fie reprezentate și unde să fie plasate în șir.
Face acest lucru asigurându-se că rezultatul final nu depășește limita a 63 de caractere.
Articole similare