Co to jest PunyCode?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: Punycode to sposób zapisywania znaków Unicode, takich jak polskie „ł” czy „ó”, za pomocą podstawowych znaków ASCII. W nazwach domen pozwala przedstawić adres z lokalnymi literami w postaci technicznej, rozpoznawalnej po prefiksie xn--. Na przykład bücher.de ma postać xn--bcher-kva.de — to dwa zapisy tej samej domeny, a nie dwa osobne adresy do rejestracji.
Po co domenom Punycode?
Unicode to standard obejmujący znaki wielu języków i alfabetów. ASCII jest znacznie mniejszym zestawem znaków: zawiera między innymi podstawowe litery łacińskie, cyfry i łącznik, ale nie zawiera „ą”, „ę” ani „ż”. Tradycyjny zapis nazw hostów używanych w internecie opiera się na tym ograniczonym zestawie.
Żeby umożliwić korzystanie z nazw zawierających lokalne znaki, opracowano mechanizm IDNA — zasady obsługi międzynarodowych nazw domen w aplikacjach. Domenę z takimi znakami nazywa się IDN, czyli międzynarodową nazwą domeny. Punycode jest elementem tego mechanizmu: odpowiada za przekształcenie znaków do zapisu ASCII.
Punycode nie jest szyfrowaniem ani zabezpieczeniem adresu. To odwracalne kodowanie, więc z poprawnego zapisu można odtworzyć oryginalne znaki bez hasła czy klucza. Sam prefiks xn-- nie świadczy też o tym, że witryna jest niebezpieczna.
Jak wygląda zakodowana domena?
Konwersja dotyczy poszczególnych części nazwy rozdzielonych kropkami, nazywanych etykietami. Dla adresu bücher.de przekształcana jest część bücher, natomiast końcówka de pozostaje bez zmian. Jeżeli znaków spoza ASCII używa więcej etykiet, każda z nich może wymagać osobnego kodowania.
W tym przykładzie:
bücherto nazwa czytelna dla użytkownika;bcher-kvato wynik kodowania Punycode;xn--bcher-kvato etykieta z prefiksem stosowanym przez IDNA;xn--bcher-kva.deto pełna domena w postaci ASCII.
Punycode zachowuje podstawowe znaki obecne w nazwie, a pozostałe opisuje zakodowaną sekwencją. Nie należy jednak ręcznie dopisywać końcówek ani próbować odgadywać wyniku — do konwersji służą narzędzia obsługujące IDNA.
Kodowanie nie usuwa znaków diakrytycznych. Domena żaba.pl nie staje się domeną zaba.pl; są to różne nazwy, które mogą należeć do różnych abonentów. Wariant z polskimi znakami i jego poprawna postać xn--… oznaczają natomiast tę samą domenę.
Kiedy trzeba użyć zapisu xn–?
Użytkownik zwykle wpisuje nazwę z lokalnymi literami, a przeglądarka wykonuje potrzebne przekształcenie. Przy zarządzaniu domeną można jednak spotkać formularze wymagające postaci ASCII, na przykład w panelu DNS, hostingu, narzędziu do monitorowania albo konfiguracji serwera.
Nie ma jednej reguły dla wszystkich paneli. Część przyjmuje nazwę Unicode i sama ją konwertuje, inne oczekują zapisu z xn--. Wymagany format należy sprawdzić w dokumentacji konkretnej usługi.
Bezpieczna procedura konfiguracji wygląda tak:
- Skopiuj dokładną nazwę domeny z panelu rejestratora, czyli firmy obsługującej jej rejestrację.
- Sprawdź jej postać ASCII w panelu lub narzędziu obsługującym IDNA.
- Wprowadź format wymagany przez usługę, nie zmieniając kropek ani łączników.
- Po konfiguracji przetestuj stronę, HTTPS oraz — jeśli jej używasz — pocztę.
Sama możliwość zakodowania tekstu nie oznacza, że można zarejestrować go jako domenę. Rejestr zarządzający daną końcówką ustala dopuszczalne znaki i ich kombinacje. Obowiązują również limity długości etykiet, dlatego istotna jest długość po konwersji, a nie tylko liczba widocznych liter. Dostępność nazwy i zasady rejestracji potwierdź u rejestratora lub operatora końcówki.
Dlaczego przeglądarka czasem pokazuje kod zamiast liter?
Przeglądarki stosują własne reguły wyświetlania domen międzynarodowych. Mogą pokazać nazwę z lokalnymi znakami albo pozostawić jej techniczną postać xn--. Decyzja zależy między innymi od użytych alfabetów i mechanizmów ochrony przed podszywaniem się pod inne adresy.
Problemem są znaki, które wyglądają podobnie, choć mają różne kody Unicode. Przykładowo łacińskie „a” i cyrylickie „а” mogą być trudne do odróżnienia. Wykorzystanie takiego podobieństwa do oszustwa nazywa się atakiem homograficznym.
Wyświetlenie Punycode może utrudnić oszustowi ukrycie różnicy, ale nie zastępuje sprawdzenia adresu. Przy logowaniu do banku lub poczty korzystaj z zapisanej zakładki albo samodzielnie wpisanego, znanego adresu. HTTPS potwierdza szyfrowane połączenie z daną domeną, nie to, że należy ona do firmy, którą sugeruje wygląd strony.
Czy wybrać domenę z polskimi znakami?
Domena zgodna z pisownią nazwy marki może być czytelna dla polskich odbiorców. Bywa jednak mniej wygodna dla osób bez polskiej klawiatury oraz w systemach słabiej obsługujących nazwy międzynarodowe. Przy wyborze uwzględnij więc nie tylko wygląd adresu, ale też sposób jego przekazywania i używane narzędzia.
Jeżeli rejestrujesz wariant z polskimi znakami i wariant bez nich, wybierz jeden adres główny, a drugi przekieruj na niego. Przekierowanie strony nie konfiguruje automatycznie poczty. Dodatkowo obsługa międzynarodowej domeny w adresie e-mail jest odrębną kwestią od obsługi znaków Unicode przed symbolem @.
Przed zakupem domeny sprawdź u dostawcy hostingu i poczty, czy obsługuje wybraną nazwę oraz jakiego formatu wymaga. To pozwoli ocenić jej praktyczną przydatność jeszcze przed drukowaniem wizytówek i publikowaniem adresu.
Zobacz też: Co to jest ASCII?
