Christian Kruse: IDNA-Implementation in JS

Beitrag lesen

你好 Sven,

Um einz klarzustellen: die Implementation macht keinen Syntax-Check für
Domains, dass ist nicht Aufgabe von IDNA, sondern es prüft, ob der
übergebene Domain-Name korrekt im Sinne von IDNA ist. Das bedeutet:

– Nameprep wird drüberlaufen gelassen
– Punycode wird drüberlaufen gelassen
– Die einzelnen Labels werden im Sinne von IDNA korrekt kodiert

Ich halte es ein klein wenig für fragwürdig, warum die Ergebnisse des "to
ASCII" Großbuchstaben im "Umlautteil" hervorbringen, obgleich Domainnamen
case-insensitive sind.

Das war ein kleiner Bug bei der case_flags behandlung, danke, ist gefixed ;)

Allerdings wird das ganze Dilemma der Umlautdomains hier deutlich: Mehr
als die Wandlung von "hellö-wörld.de" nach "xn--hell-wrld-37AC.de"
passiert nicht diese Konversion aber allen DNS-suchenden Clients
aufzubürden war der Schwachsinn des Jahrhunderts.

Das macht im Idealfall die Resolver-Bibliothek, die Applikation hat damit
dann wenig zu tun ;) Sie muss natürlich trotzdem von wissen und deshalb
doch die ganze Chause implementieren, weil sie ja irgendwie die
syntaktische Korrektheit sicherstellen muss…

Vor allem nervig ist, dass von 6627 Zeilen, die die Implementation
insgesamt hat, allein 5652 Zeilen Zeichentabellen sind…

再见,
 克里斯蒂安

--
Toilettenspruch II. | Toilettenspruch I.
"Ich muss auflegen, mein Essen ist gleich fertig."
"Oh, was gibt 's denn?"
"Hmm. Die Packung liegt schon im Muell, keine Ahnung.
http://wwwtech.de/