Mike: Cold Fusion Tag: cflocation

Hi!

In der Server Application Cold Fusion gibt es den Befehl cflocation. Damit kann man eine URL anspringen (wie z.B. JS: this.location=). Diese Funktion wird Server seitig ausgeführt. Jetzt habe ich das Problem, daß bei einer URL ein langer string mitgegebn wird. Dieser wird abgeschnitten und der Webserver name angefügt (ca. bei der 1000. Stelle). Allerdings nicht bei allen Server-Installationen. Jedoch unabhängig von Hersteller und Version.

1.Wird dies über CGI gemacht?
2.Warum schneidet er ab?

Danke,

Mike

  1. In der Server Application Cold Fusion gibt es den Befehl cflocation. Damit kann man eine URL anspringen (wie z.B. JS: this.location=). Diese Funktion wird Server seitig ausgeführt. Jetzt habe ich das Problem, daß bei einer URL ein langer string mitgegebn wird. Dieser wird abgeschnitten und der Webserver name angefügt (ca. bei der 1000. Stelle). Allerdings nicht bei allen Server-Installationen. Jedoch unabhängig von Hersteller und Version.

    1.Wird dies über CGI gemacht?

    Ausser man verwendet den CGI Stub, kommuniziert man direkt mit dem entsprechenden API des Web Servers (bei IIS nennt sich das ISAPI). Dies ist aber nicht das eigentliche Problem -> siehe unten.

    2.Warum schneidet er ab?

    Da der lange String in der URL mitgegeben wird handelt es sich um eine GET Methode.
    Die Maximale Länge ist bei GET nicht definiert, bei gewissen OS/HTTPD kann sie jedoch auf 256 Zeichen beschränkt sein.

    Lösung: POST Methode verwenden (falls praktikabel) oder informationen in einer Session Variable an das nächste Dokument übergeben.

    Grüsse
    Stephan