Wie funktioniert die Aktualisierung einer geladenen Webseite?
Linuchs
- programmiertechnik
Moin,
auf einer Seite rufe ich per Ajax alle 10 sec den Server an und frage, welcher Termin als letzter gelesen wurde. Grund: Etwas "Leben" auf die Seite bringen.
Javascript ist also damit beschäftigt, alle 10 sec den Server zu nerven, echte Neuerungen kommen aber nur so alle 3 .. 5 Minuten.
Ich erinnere mich an eine Technik, dass sich der Server bei der Webseite meldet, wenn es etwas Neues gibt.
Wie heißt diese Technik und wo kann ich mich einlesen?
Gruß, Linuchs
Hallo Linuchs,
Wie heißt diese Technik und wo kann ich mich einlesen?
Server Push (HTTP/2) https://www.cyon.ch/blog/HTTP2-Server-Push
Bis demnächst
Matthias
"Das war nichts": Die von Dir verlinkte Webseite befasst sich nicht mit der gestellten Frage nach dem Push neuer Inhalte sondern mit dem früherem, insoweit "schnellerem" (Die darzustellende Seite kann früher gerendert werden) Download von "Interior" wie Schriften, CSS, Grafiken e.t.c. p.p.
Ich erinnere mich an eine Technik, dass sich der Server bei der Webseite meldet, wenn es etwas Neues gibt.
Wie heißt diese Technik und wo kann ich mich einlesen?
Neben den Websockets gibts es noch:
Ergänzung zum Link:
Hier mal ein Beispiel für PHP: https://github.com/sanwebe/Chat-Using-WebSocket-and-PHP-Socket
Die index.php liefert die webseite und die server.php wird in dem Beispiel so gestartet, dass diese einen eigenen Web-Socket auf Port 9000/TCP "aufmacht" und muss also durchlaufen. Das ist in vielen Fällen (shared hosting ohne eigenen (V-)Server) nicht machbar.
Die Angabe des localhosts in der index.php und der server.php ist insofern irreführend als dass das nicht der localhost sein muss, es wird bei einer realen Anwendung also der eigene, reale Server irgendwo im Internet sein.
Hallo Linuchs,
es gibt mehrere Techniken, mit denen der Server einen Client benachrichtigen kann.
Und es gibt Techniken, mit denen man sowas simulieren kann
Das sind die 4 Varianten, die die SignalR Library von Microsoft einsetzt, es mag mehr geben.
Grundproblem ist, dass Du für Server-Push Techniken auf dem Server eine Komponente brauchst, die den Push managen kann. Der klassische Apache tut das nicht, weil der auf Request-Response-Forget ausgelegt ist. Du brauchst einen eigenen Serviceprozess, der sich um die Pushes kümmert - guck mal hier.
Rolf
Hallo Rolf,
der verlinkte Text ist von Montag, 13. Mai 2013
Gilt das noch?
Gruß, Linuchs
Hallo Linuchs,
gute Frage. Nächste Frage 😳, bitte...
Ich habe jetzt nicht sehr aufwändig nach PHP spezifischen Texten recherchiert. In der Firma verwenden wir eine ASP.NET Ökologie und SignalR, aber auch nicht an vielen Stellen. Das Grundproblem, dass Server-Pushes eine andere Servertechnik brauchen als ein einfaches Request-Response Web, ist aber unverändert aktuell.
Rolf
Tach!
der verlinkte Text ist von Montag, 13. Mai 2013
Gilt das noch?
Ja, an WebSockets hat sich nichts grundlegendes geändert.
dedlfix.