Cheatah: reg. Expr funktioniert nicht ganz richtig.

Beitrag lesen

Hi,

Übrigens hat /%T/ eine bestimmte Funktion ?
Nope, nur das "%".
Eins verstehe ich aber nichts ganz. Selbst wenn das % oder sogar ein `` darin vorkommt, kann doch eigentlich gar nichts sein, weil all dieser text wird in einer Variable gespeichert, und kann doch auf keine Weise irgendwie "gefährlich" werden, oder ? Belehre mich bitte eines besseren =)

gerne :-) URLs haben mit Variablen nichts, aber auch gar nichts zu tun. Sie sind lediglich ein String, der ganz links Informationen über Art und Position (Protokoll und IP-Adresse, die sich dem Hostnamen ergibt, nebst eventueller Portangabe und ggf. Login-Informationen) des zu kontaktierenden Servers enthält - der Rest ist (abgesehen vom #Anker, der beim Client bleibt) ausschließlich für den Server interessant.

Dieser nimmt den angeforderten String, teilt ihn in seine - streng definierten - Elemente auf, dekodiert die relevanten, sucht daraus die angeforderte Ressource und liefert diese zurück (was u.U. den Aufruf einer Programmlogik erfordert, welche weitere Elemente der URL dekodiert, bevor es sie weiterverwendet). Die Dekodierung ist es, die ein "%T" verbietet, da das %-Zeichen das Symbol für ein hexadezimal kodiertes Zeichen ist. Die Gefahr besteht hier darin, dass der Server mit einer falsch kodierten URL schlichtweg nichts anfangen kann und einen Fehler meldet. Eine andere Gefahr ist, dass das URL-Parsing mit Fehlerkorrekturen arbeitet und somit langsamer wird.

Andere aber schon, die das dann lesen müssen oder wollen. Insbesondere deshalb, weil mehrere Slashes vorkommen.
Is ein Argument, aber ein guter Perler hat damit sicher kein Problem =)

Auch wenn Perl ein Musterbeispiel für kryptischen Code darstellt ;-) ist es das Bestreben eines guten Programmierers, lesbaren Code herzustellen - mindestens solange die Effizienz darunter nicht leidet.

Cheatah