Wie erreiche ich eine fortlaufende CGI-Ausgabe im Browser

Alles, was den Apache betrifft, kann hier besprochen werden.

Wie erreiche ich eine fortlaufende CGI-Ausgabe im Browser

Postby largo » 28. June 2007 15:16

Hallo! Ich habe einige Perl-Skripte, die etwas länger laufen und fortlaufend Ausgaben erzeugen. Nun möchte ich diese Ausgaben auch gerne fortlaufend im Browser sehen, wenn ich ein Skript dort aufrufe. Leider wird mir die Ausgabe im Browser aber erst angezeigt, wenn das Skript beendet wird. Dabei ist es egal, ob ich IE oder Firefox nutze.

Ich habe in meinen Apache (2.2.4, Linux) folgenderweise konfiguriert:

Code: Select all
<Files *.cgi>
   Options +ExecCGI
   SetHandler cgi-script
</Files>


Ich habe nun ein Testskript geschrieben, welches mir 10 Sekunden lang jede Sekunde eine Zeile ausgibt. Wenn ich es über einen Browser aufrufe, dann muss ich 10 Sek. warten und dann werden alle 10 Zeilen auf einmal angezeigt. Wenn ich das selbe Skript aber über Telnet abfrage, kann ich sehen, daß der Apache die Ausgabe nicht cached sondern die Zeilen einzeln im Sekundentakt ausgibt.

Dies lässt jetzt darauf schließen, daß das eher ein Browserproblem ist, aber ich bin mir da nicht 100%ig sicher. Selbst dann stellt sich die Frage, ob es einen Responseheader gibt, der eine fortlaufende Ausgabe auf dem Browser erzwingt?

Die einzige Möglichkeit, die ich bisher gefunden habe, besteht darin, daß ich das Skript als NPH-Skript (Apache überläßt die Headererstellung dem CGI-Skript) aufrufe und im Skript dann KEINE Header erzeuge!!! Das scheint beide Browser insofern nicht weiter zu stören, als das sie genau das tun, was ich will, nämlich die Ausgabe pö a pö, Zeile für Zeile anzuzeigen. Sobald ich ein "HTTP/1.0 200 OK" zurücksende, bekomme ich alles erst wieder zum Schluß auf einmal zu sehen. Das Problem an dieser Lösung liegt darin, daß wenn ich keine Responsheader erzeuge, ich auch keinen Content-Type angeben kann und der Firefox die Ausgabe in text/plain macht, während der IE die Ausgabe als text/html interpretiert.

Vielleicht hat ja einer von euch einen Tipp für mich! Ich würde mich sehr freuen!


Lars
largo
 
Posts: 1
Joined: 28. June 2007 14:38

Return to Apache

Who is online

Users browsing this forum: No registered users and 14 guests