How do IDNs work?
Typically, when a browser sees a host name, it sends a request to the DNS resolver service. The resolver service then sends a request to a domain name server to return an IP address corresponding to that host name. When the IP address is returned, a connection is made to the appropriate Web server. In the case of IDNs, when a browser sees either (1) a non-ASCII character host/domain name in its location bar, or (2) a URL with a non-ASCII domain part embedded in a web page, the application is required to convert the non-ASCII characters into a special encoded format (Punycode) using only the standard ASCII subset characters. Punycode is the official IETF standard that has been approved for converting IDN domains into machine-readable and resolvable ASCII domains. Punycode is required for IDN conversion because a restriction (that only a subset of ASCII characters be used in URL/URI at the network protocol level) is still enforced, even though IDNs have been introduced.