homeUnix & Internet Unix & Shell-Programmierung: Netscape Server Push Prof. Dr. Uwe Schmidt FH Wedel

Netscape Server Push

weiter

weiter

Netscape Server Push

Idee
Server sendet nicht nur ein Dokument, sondern in Abständen mehrere vollständige Dokumente hintereinander.
Die Verbindung zwischen Server und Client bleibt also über eine lange Zeit bestehen.
mime type
für diese Dokumente wird ein spezieller mime type verwendet:
multipart/x-mixed-replace
Struktur des Dokuments
einzelne Dokumente werden durch Textmuster, boundaries, begrenzt, ähnlich wie inline-Dokumente in shell- oder perl-Skripten.
weiter
Beispiel
Das von einem CGI-Skript erzeugte Dokument
 
HTTP/1.1 200 OK
Content-type: multipart/x-mixed-replace;boundary=Muster
Connection: close
 
--Muster
Content-type: text/html
 
Das 1. Dokument

Das 1. Dokument

 
--Muster
Content-type: text/html
 
Das 2. Dokument

Das 2. Dokument

 
--Muster--
weiter
merke
Das gesamte Dokument muss stückweise erzeugt werden und über die Standardausgabe ausgegeben werden, anschließend wird auf einer neuen Zeile das Muster ausgegeben und der Puffer von stdout geleert werden. Danach wird das CGI-Skript eine Zeit warten, z.B. 5 Sekunden mit sleep 5 oder in Tcl mit after 5000.
weiter
merke
Apache hack
Der Apache server puffert standardmäßig seine Ausgabe zum client hin, dieses verhindert die gewünschte zeitliche Reihenfolge der Übertragung der einzelnen Dokumente. Beginnt der Name des CGI-Skripts mit nph- so wird die Pufferung ausgeschaltet.
Aber es wird auch keinerlei header vom Apache erzeugt, also muss der gesamte header einschließlich der 1. Zeile
HTTP/1.? errorcode
vom Skript erzeugt werden. Nähere Information findet man in dem endgültigen Apache Führer.
weiter
Ein Dokument mit 2 Seiten, die mit einer Verzögerung von 5 Sekunden übertragen werden
Die Uhr läuft ( 10 Sekunden )
es wird dunkel
weiter

Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel