Div reload per setInterval

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
bake
User
Beiträge: 29
Registriert: Dienstag 20. November 2007, 08:12
Wohnort: Hamburg

Div reload per setInterval

Beitragvon bake » Mittwoch 3. Dezember 2008, 19:10

Die Ausgangssituation:
Auf einer HTML Seite befinden sich vier Div-Elemente, die mit Hilfe eines Ajax Requests welches durch setInterval gesteuert wird jede Sekunde neu geladen werden sollen. Das Ganze funktioniert auch wunderbar. Die Seite dient als Statusmonitor wird also am Anfang nur einmal aufgerufen und bleibt geöffnet. Einzig die vier Divs verändern sich.

1. Kann das nach einer gewissen Zeit zu Problemen führen? immerhin werden hier vier Requests pro Sekunde abgefeuert, oder stellt das für den Browser, in diesem Fall Firefox, kein Problem da?

2. Lässt sich das ganze irgendwie anders lösen? Es werden nicht immer neue Informationen geholt, es kann auch sein, dass sich mal ein paar Minuten nichts verändert und die Requests gar keine neuen Informationen liefern. Das Grundproblem ist ja, dass der Browser nicht weiß, wann sich ein Datenbank eintrag verändert hat, richtig?
who we are is but a stepping stone to
what we can become...
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Mittwoch 3. Dezember 2008, 20:42

Sind es 4 verschiedene Server? Warum kannst du mit einem Poll-Request nicht gleich alle 4 DIV-Inhalte holen? Das würde die Last schon mal reduzieren. Ansonsten würde ich zusehen, dass If-Modified-Since (oder wie das genau heißt) von deinem Webframework korrekt ausgewertet wird und wenn es keine Veränderung auf dem Server gab, dann ein 304 (Not Modified) geliefert wird. Sorge auch dafür das Etags unterstützt werden.

Schließlich kann der Server (wenn es nicht der Standard-Apache/Lighttpd usw. ist, der einen Request ja sofort beenden will) einfach mit der Antwort auf einen Poll-Request so lange warten, bis er auch etwas zu sagen hat. Dazu muss der Server aber die ganze Zeit laufen und die Requests am Leben halten, was dem üblichen Verfahren bei Python und Co widerspricht.

Stefan

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder