Gunnar Bittersmann: Link im Link

Beitrag lesen

@@Schmuse:

http://www.xyz.de/index.html?name=test&url=http://www.xyz.de/seite1.html?abc=1&def=2

http://www.xyz.de/seite1.html?abc=1&def=2 ist der komplette Wert von url, aber def wird als Teil vom ersten Link erkannt, da dort ein & drin ist.

Du musst das zweite '&' kontextspezifisch codieren; und der Kontext ist hier URI. Also die Sache mit '%'. [RFC3986 §2.1]

Da '&' (Unicode-Copepoint U+0026) im Bereich Basic Latin liegt, wird es sowohl nach UTF-8 als auch nach ISO 8859-x als Oktettwert 26 (hexadezimal) codiert; in einem URI also als '%26'.

Wenn du den URI in den HTML-Kontext bringst (als Wert eines 'href'-Attributs), musst du das erste '&' auch
kontextspezifisch codieren; und der Kontext ist dann HTML. [HTML401 §B.2.2]

Live long and prosper,
Gunnar

--
„Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)