daniel: url codierung

hallo!

ich hab da mal eine frage:
gibt es eigentlich bei den url codierungen keine festgelegten standards, oder wieso codiert mein IIS dann nach einer anderen methode als im "handelsüblichen" web, zb:

uncodiert:
http://www.domaene.at/eins zwei drei.php

codiert:
http%3A%2F%2Fwww.domaene.at%2Feins%20zwei%20drei.php

normalerweise hat bei mir immer folgende codierung funktioniert, wie sie bei der php funktion urlencode() generiert wird:

uncodiert:
http://www.domaene.at/eins zwei drei.php

codiert:
http%3A%2F%2Fwww.domaene.at%2Feins+zwei+drei.php

ich habe in der php referenz gelesen das es 2 funktionen gibt um urls zu codieren bzw decodieren, und zwar die urlencode() in der leerzeichen mit "%20" codiert werden und die funktion rawurlencode, in der leerzeichen mit "+" codiert werden.
lässt sich das am server einstellen welche methode verwendet wird ?

grüsse,
daniel

  1. gibt es eigentlich bei den url codierungen keine festgelegten standards, oder wieso codiert mein IIS dann nach einer anderen methode als im "handelsüblichen" web, zb:

    Der IE war schon immer etwas besonderes :)

    uncodiert:
    http://www.domaene.at/eins zwei drei.php

    codiert:
    http%3A%2F%2Fwww.domaene.at%2Feins%20zwei%20drei.php

    codiert:
    http%3A%2F%2Fwww.domaene.at%2Feins+zwei+drei.php

    Der einzige Unterschied ist das Leerzeichen, das einmal per Plus und einmal als Hexwert %20 kodiert wird.

    Den eigentlichen Standard findest Du in http://www.w3.org/Addressing/rfc1738.txt. Die Geschichte mit dem Plus ist AFAIK eine Variante aus dem Altertum.

    lässt sich das am server einstellen welche methode verwendet wird ?

    Das hängt vom Server ab. Normalerweise hat ein Webserver mit sowas aber nichts zu tun, diese Daten werden eher Hilfsprogrammen verarbeitet (PHP- oder Perlskripte, andere Programme), dort ist dann auch die Einstellung (so überhaupt nötig) vorzunehmen.

    Gruß,
      soenk.e