![](https://seccdn.libravatar.org/avatar/71c84eb753c5845eb1d9071a337e30ce.jpg?s=120&d=mm&r=g)
"Dieter Kluenter"
Hallo,
Frank Reifenstahl
writes: Hallo,
ich habe schon seit etlichen Monaten ein merkwürdiges Problem beim browsen auf web.de bzw. bei meinem fremmail-account: in normalen Navigationslinks wie zum Beispiel, wenn man eine neue Email erstellen will, werden Sonderzeichen wie "?" und "=" in der URL wie gewohnt und gewünscht dargestellt, die Links funktionieren auch (z.B. https://freemailng5502.web.de/online/logic/action.htm?si=xxxxxxxxxx**&rv_do_newmail=yes&rv_linkfrom=menu).
Wenn ich mir aber eine HTML-Email in freemail anschaue, dann sind in den darin vorhandenen Links diese Zeichen in Ihre HEX-Äquivalente umgewandelt (z.B. https://freemailng5502.web.de/jump.htm?goto=http://r.web.de/f/freemail/newsl......). Genauso erscheint die URL auch im Adresseingabefenster beim Draufklicken, und natürlich findet der Browser diese Adresse nicht (wenn ich die %40 etc. von Hand durch die korrekten Zeichen ersetze, funktioniert es).
Du solltest dich nicht bei web.de, sondern bei den Browser-Entwicklern beschweren. Die Zeichenfolge '%40' ist kein Hex-Äquivalent, sondern ein 'URL Special Character' und steht für '@'. RFC3986 Uniform Resource Identifier (URI) Generic Syntax, beschreibt dies. Das von dir benutze Zeichen '?' ist ein hierarchisches Trennelement (Delimiter), also dem Slash oder Punkt vergleichbar. Jetzt ist natürlich die Frage, was soll dargestellt werden? Eine Dateihierarchie oder eine Mailadresse?
Ich muss mich hier teilweise korrigieren und wohl noch einiges vertiefen, damit das Problem verständlich wird. Das oben zitierte Wissen basiert auf RFC1738, während RFC3986 hier ausführlicher ist. RFC3986 beschreibt in Absatz 2.1 sogenannte 'percent-encodings'. Damit werden Zeichen beschrieben, die üblicherweise als Begrenzer benutzt , oder außerhalb des erlaubten Zeichenbereiches benutzt werden. Ein percent-enconded Zeichen besteht aus drei Elementen, dem % und dem zweistelligen Hexadezimalwert des ASCII-Zeichens. Ein Bespiel wo ein reserviertes Zeichen außerhalb des erlauben Zeichenbereiches benutzt wird und daher durch ein percent-encoded Zeichen ersetzt werden muss ist die folgende LDAP-URL 'ldap://%2Fvar%2Frun%2Fldapi'. In diesem Fall muss der Dateibegrenzer "/" ersetzt werden durch %2F, da sonst das reservierte Zeichen "/" anders interpretiert würde. Es gibt weiterhin reservierte Zeichen 'Reserved Characters' die in Abschnitt 2.2 beschrieben werden. Als reservierte Zeichen werden generische Begrenzer (gen-delims, sub-delims) beschrieben, dazu gehören u.a.: ":, /, ?, #, [, ], @" Jetzt sagt RFC3986 sinngemäß, dass eine URI die ein reserviertes Zeichen beinhaltet, sich von der URI unterscheidet, die statt des reservierten Zeichens den percent-encoded Wert des Zeichens einsetzt. Das reservierte Zeichen "@" ist das Trennelement einer SMTP URI, falls das Zeichen also in einer URI in einem anderen Kontext benutzt werden soll, muss es als percent-enconded Wert %40 dargestellt werden. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6