Client Pull/Server PushClient pull en server push zijn twee totaal verschillende technieken, die als gemeenschappelijk doel hebben iets `met losse handen' te laten gebeuren op de pagina.
Client pullOm een client pull te verzorgen hoeft er maar een ding in de header van een pagina gezet te worden:
<meta http-equiv="Refresh" content="2;
URL=blabla.html">
met `blabla.html' de naam van de volgende pagina, en de '2' slaat op het aantal seconden dat er gewacht wordt met het laden.
Dit komt dus in het <head> van een pagina te staan, waar ook de titel staat. Een voorbeeld is te vinden in mijn Hotlist. Je kan ook andere dingen dan HTML pagina's laden; je kan er bijvoorbeeld de naam van een geluidsfile zetten, die wordt dan automatische geladen na een bepaald aantal seconden. Tips:
Server PushVoor Server Push heb je cgi-scripts nodig, dus dit is alleen mogelijk als je cgi-scripts mag schrijven en laten uitvoeren. Hier is een voorbeeld van een cgi-script dat een filmpje laat zien:
#!/usr/local/bin/perl
# sets autoflush - unbuffer i/o
$| = 1;
$boundary = "This is da boundary";
$root_dir = "/helios/u1/jeroenb/www/startmovie/";
print "HTTP/1.0 200 OK\n";
print "Content-Type: multipart/x-mixed-replace;boundary=$boundary\n";
print "\n--$boundary\n";
for ($i = 100;$i < 188;$i++)
{
print "Content-Type: image/gif\n\n";
open (IMAGE, $root_dir."xydiagr".$i.".gif");
while (<IMAGE>)
{
print $_;
}
close (IMAGE);
print "\n--$boundary\n";
}
De plaatjes xydiagrNNN.gif, met NNN van 100 tot 188, uit de directory /helios/u1/jeroenb/www/startmovie/ worden achter elkaar geladen, met daar tussenin de boundary string (verplicht voor dit `mime-type').
Dit is in aktie te zien op de pagina van Jeroen Bouwman. De HTML om het plaatje
in beeld te krijgen is
<img src="/cgi-bin/nph-start" alt="surver-push,
graphical browser only">
Overigens heeft Jeroen's pagina ook een Client Pull, om mensen op trage verbindingen niet een uur vast te laten zitten aan het filmpje.
Een ander prachtig voorbeeld van server push is te vinden op
de McDougall Sound Archaeological Research Project. Dit is een `diapresentatie' van de resultaten van een archaeologisch onderzoek in Canada. Geheel `server push' gestuurd, dus achterover leunen en kijken maar. Erg mooi.
| |