Netscape Navigatorでは、クライアントプルと同様、サーバープッシュ(ServerPush)という技術を用いても、ページを自動的に再表示することができます。CGIスクリプトを利用するので設定は多少面倒ですが、任意のタイミング(誰かが掲示板に新規メッセージを書き込んだなど)で再表示可能ですので、サーバーとブラウザの間の通信を抑制することができます。
以下のようなCGIスクリプトを nph-push.cgi のように nph- で始まるファイル名で設置して呼び出してください。(→NPHスクリプト)CGIの設置方法に関しては「とほほのCGI入門」などを参照してください。
---ThisIsRandomString--- の部分は、本文中にたまたま現れることの無さそうな適当な文字列を指定してください。
#!/usr/local/bin/perl
$| = 1;
$boundary = "---ThisIsRandomString---";
print "HTTP/1.0 200 OK\n";
print "Content-type: multipart/x-mixed-replace;";
print "boundary=$boundary\n";
print "\n";
print "$boundary\n";
while (1) {
unless (print "") {
last;
}
print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<title>;サーバープッシュ</title>\n";
print "</head>\n";
print "<body>\n";
print "現在の時刻は\n";
($sec, $min, $hour, $mday, $mon, $year)
= localtime(time());
printf("%4d/%02d/%02d %02d:%02d:%02d\n",
$year + 1900, $mon + 1,
$mday, $hour, $min, $sec);
print "です。";
print "</body>\n";
print "</html>\n";
print "$boundary\n";
sleep(5);
}