Jürgen Schneider: Server Push

Hallo !

Weiß zufällig jemand, ob der IE mittlerweile auch Server Push
in Verbindung mit Perl kann ?

In etwa folgendes:

use CGI qw/:standard/;

$| = 1;

$separator = "DerEindeutigeTrenner";

print "Content-Type: multipart/x-mixed-replace;boundary=$separator\n\n";

for ( $i=10; $i>=0; $i--)
{
 print "--$separator\n";
 print header(-type => 'text/html'), "\n";
 print "<H1>$i</H1>\n";
 print "--$separator\n";
 sleep(1);
}

Vielen Dank
Gruß
Jürgen Schneider

  1. Hallo !

    Weiß zufällig jemand, ob der IE mittlerweile auch Server Push
    in Verbindung mit Perl kann ?

    Ich habe keine Ahnung, aber es wäre wirklich besser für mich, wenn er es könnte - meine gedanklichen Planungen für meine Diplomarbeit basieren darauf, daß es geht...

    Allerdings hat die Testseite bei Netscape in allen Browsern nicht funktioniert (Netscape 4, IE, Opera) -> http://home.netscape.com/assist/net_sites/pushpull.html (unten ist ein Link zum testen - bei mir kommen da keine Bilder im Wechsel)

    In etwa folgendes:

    use CGI qw/:standard/;

    $| = 1;

    $separator = "DerEindeutigeTrenner";

    print "Content-Type: multipart/x-mixed-replace;boundary=$separator\n\n";

    for ( $i=10; $i>=0; $i--)
    {
    print "--$separator\n";
    print header(-type => 'text/html'), "\n";
    print "<H1>$i</H1>\n";
    print "--$separator\n";
    sleep(1);
    }

    Es könnte helfen, das als non-parsed-header zu versuchen. Unter Apache sollte der Scriptname mit "nph-" beginnen. Ob du dann im Script selbst noch das Buffering ausschalten mußt, habe ich noch nicht erforscht.

    Rückmeldung, obs daran gelegen hat, wäre fein. :)

    Vielen Dank
    Gruß
    Jürgen Schneider

    - Sven Rautenberg

    1. Hallo !

      Weiß zufällig jemand, ob der IE mittlerweile auch Server Push
      in Verbindung mit Perl kann ?

      Ich habe keine Ahnung, aber es wäre wirklich besser für mich, wenn er es könnte - meine gedanklichen Planungen für meine Diplomarbeit basieren darauf, daß es geht...

      Ups. Da bin ich froh, daß ich meine schon hinter mich gebracht habe.

      Allerdings hat die Testseite bei Netscape in allen Browsern nicht funktioniert (Netscape 4, IE, Opera) -> http://home.netscape.com/assist/net_sites/pushpull.html (unten ist ein Link zum testen - bei mir kommen da keine Bilder im Wechsel)

      Bei mir auch nicht (IE 6.0 und Netscape 4.75)

      Es könnte helfen, das als non-parsed-header zu versuchen. Unter Apache sollte der Scriptname mit "nph-" beginnen. Ob du dann im Script selbst noch das Buffering ausschalten mußt, habe ich noch nicht erforscht.

      Hierzu ein klares Jein ;-)

      Wenn ich es mit der Endung .nph und dem IE (Apache) versuche,
      will IE das Dokument zumindest nicht mehr herunter laden.
      Allerdings stellt er die Seite im "plain Text" Format dar,
      und ich weiß leider nicht wie ich ihm das abgewöhnen kann.

      Gruß
      Jürgen Schneider

      1. Hallo !

        Weiß zufällig jemand, ob der IE mittlerweile auch Server Push
        in Verbindung mit Perl kann ?

        Ich habe keine Ahnung, aber es wäre wirklich besser für mich, wenn er es könnte - meine gedanklichen Planungen für meine Diplomarbeit basieren darauf, daß es geht...

        Ups. Da bin ich froh, daß ich meine schon hinter mich gebracht habe.

        Allerdings hat die Testseite bei Netscape in allen Browsern nicht funktioniert (Netscape 4, IE, Opera) -> http://home.netscape.com/assist/net_sites/pushpull.html (unten ist ein Link zum testen - bei mir kommen da keine Bilder im Wechsel)

        Bei mir auch nicht (IE 6.0 und Netscape 4.75)

        Es könnte helfen, das als non-parsed-header zu versuchen. Unter Apache sollte der Scriptname mit "nph-" beginnen. Ob du dann im Script selbst noch das Buffering ausschalten mußt, habe ich noch nicht erforscht.

        Hierzu ein klares Jein ;-)

        Wenn ich es mit der Endung .nph und dem IE (Apache) versuche,
        will IE das Dokument zumindest nicht mehr herunter laden.
        Allerdings stellt er die Seite im "plain Text" Format dar,
        und ich weiß leider nicht wie ich ihm das abgewöhnen kann.

        Hallo !

        Dein Fehler: Der Dateiname muß nicht auf .nph enden, er muß mit "nph-" anfangen! Also "nph-pushit.cgi" oder "nph-pushit.pl" statt "pushit.nph".

        Ansonsten siehe http://stein.cshl.org/WWW/software/CGI/#nph und http://httpd.apache.org/docs/misc/FAQ-F.html#nph-scripts

        Tux2000

        1. Hallo !

          Dein Fehler: Der Dateiname muß nicht auf .nph enden, er muß mit "nph-" anfangen! Also "nph-pushit.cgi" oder "nph-pushit.pl" statt "pushit.nph".

          Ansonsten siehe http://stein.cshl.org/WWW/software/CGI/#nph und http://httpd.apache.org/docs/misc/FAQ-F.html#nph-scripts

          Tux2000

          Ups,

          das war wohl noch zu früh, bzw. ist mein geistiger Nebel immer
          noch nicht gewichen. Wie auch immer es geht jedenfalls nach wie
          vor nicht :-(

          Hat nicht zufällig jemand ein lauffähiges Beispiel Skript ?!

          Gruß
          Jürgen Schneider

          1. Ups,

            das war wohl noch zu früh, bzw. ist mein geistiger Nebel immer
            noch nicht gewichen. Wie auch immer es geht jedenfalls nach wie
            vor nicht :-(

            Hat nicht zufällig jemand ein lauffähiges Beispiel Skript ?!

            Das hier funktioniert als Demonstration mit einem Apache-Server prima, auch ganz ohne nph-Krams:

            #!/bin/sh

            echo "HTTP/1.0 200"

            echo "Content-type: multipart/x-mixed-replace;boundary=---ThisRandomString---"
            echo ""
            echo "---ThisRandomString---"
            while true
            do
            echo "Content-type: text/html"
            echo ""
            echo "<html><body><h2>Time on this machine, updated every 5 seconds</h2>"
            echo "time: "
            date
            echo "</body></html>"
            echo "---ThisRandomString---"
            sleep 5
            done

            Und jetzt das große "AAAAABBBBEER":

            Angezeigt wird bei mir nur was im ... (Trommelwirbel) Netscape 3.01!

            Netscape 4.7: Fehlanzeige, Dauerwarten.
            Netscape 6.2: auch nicht besser.
            Opera 6 (der den Typ "multipart:x-mixed-replace" immerhin vorgibt zu kennen): Fehlanzeige!
            Internet Explorer: dito.

            Damit scheint die Methode "Server-Push" wohl endgültig begraben zu sein durch die Abwesenheit von passendem Programmcode in den aktuellen Browsern.

            - Sven Rautenberg

            1. .
              .
              .

              Und jetzt das große "AAAAABBBBEER":

              Angezeigt wird bei mir nur was im ... (Trommelwirbel) Netscape 3.01!

              Na ja, vielleicht in ein paar Jahren ?! ;-)

              Netscape 4.7: Fehlanzeige, Dauerwarten.
              Netscape 6.2: auch nicht besser.
              Opera 6 (der den Typ "multipart:x-mixed-replace" immerhin vorgibt zu kennen): Fehlanzeige!
              Internet Explorer: dito.

              Hm, da war ich ja mit dem von mir zuerst gezeigten ein
              bisserl weiter. Da gings wenigstens mit Netscape 4.75.

              Damit scheint die Methode "Server-Push" wohl endgültig begraben zu sein durch die Abwesenheit von passendem Programmcode in den aktuellen Browsern.

              Viel Spaß bei der Suche nach einem neuen Thema ;-)

            2. Hoi, <-- Begruessung

              http://learn.to/quote

              Angezeigt wird bei mir nur was im ... (Trommelwirbel) Netscape 3.01!

              Netscape 4.7: Fehlanzeige, Dauerwarten.

              Der kann das. Definitiv. Haette ich Internet zu Haus, wuerde ich dir ein Script hochladen. Die
              anderen Browser koennen das allerdings allesamt nicht, das ist ein NN-Only-Feature.

              Damit scheint die Methode "Server-Push" wohl endgültig begraben zu sein durch die
              Abwesenheit von passendem Programmcode in den aktuellen Browsern.

              Eher durch Abwesenheit von Standards. Das ist eine NN-Erfindung, die nie offiziell gemacht
              wurde (deutet ueberigens das x- bei x-mixed-replace an), aus IMHO offensichtlichen Gruenden:

              • Traffic-steigernd
              • langsam
              • Zweckentfremdung des HTTP-Protokolls

              Gruesse,
               CK