Mozilla/Apache: CGI-Refresh ohne REFRESH-Metatag???
Miq
- cgi
Ich suche schon ewig nach einer Lösung für folgendes Problem:
Anwender rufen über ihren Browser (entweder IE5.5 oder Mozilla 1.3) ein CGI-Script (in Perl) von meinem Server ab. Abhängig von diversen POST-Parametern generiert dieses Script unterschiedliche HTML.
Mit einem Parameter kann man die Ausgabe des REFRESH-Metatags im HTTP-Header erzwingen, so dass der Browser das Script mit identischen Parametern zyklisch aufruft. Das klappt auch mit beiden Browsern bestens.
Aaber... Wenn die Seitenerzeugung zu lange auf sich warten lässt (DB-Abfrage dauert manchmal lange), erzeugt Mozilla einen erneuten Aufruf, bevor der erste erledigt ist, wodurch sich u.U. die parallelen DB-Abfragen aus dem Script stapeln und meinen Server ausbremsen. Mit IE passiert das nicht.
Ich habe jetzt den Verdacht, dass es entweder irgendwo eine versteckte Einstellung gibt, die nach exakt 5 Minuten einen Neuabruf erzwingt, oder das letzte REFRESH wird von Mozilla mit der URL ohne Parameter vermerkt, und kommt beim nächsten Abruf wieder zu Tage, auch wenn das Script gar kein REFRESH-Metatag geschickt hat.
Ich hatte mal eine Variante des Scripts gebaut, die über einen Signalhandler alle paar Sekunden ein Leerzeichen ausgab, was diesen Effekt beseitigte, aber das war nicht tragbar, weil dadurch der Signalhandler im Apache-mod_perl GLOBAL für alle Scripte und DAUERHAFT verbogen wurde (nicht MT-fähig... :-( )