htmlの日時を取得する(させる)には?

[上に] [前に] [次に]
(よ) 1998/08/06(木) 14:24:52
WWWCなどの自動巡回ツールがありますが、これらのツールで更新日時を得る場合、どのような仕組みになっているのでしょうか。
httpのコマンドだとおもうのですが、いまいち釈然としないので、ご教示願えませんでしょうか?(説明してあるサイト、本の照会でも結構です)

ブラウザの文書情報(NN3だと、表示→文書情報)に更新日時が表示されますが、ページによって表示されないところもあります。
これはどうすれば見る側に通知させられるのでしょうか。
WWWCはMETAタグで更新を知らせることはできますが、A-Scopeなどはどうしてもファイルサイズ認識になってしまい、更新日時がわかりません。
たぶん、ブラウザも似たような手段で更新日時を取得していると思うのですが...
ちなみに、サーバーはリムネットです。
よろしくお願いします。

B-Cus 1998/08/06(木) 23:37:19
そういうツールは使った事ないんですが、おそらく
ヘッダの Last-Modified: .... を参照しているんだろうと
思います。WWWサーバと直でHTTPを使ってお話しすれば、
どのようなヘッダが返ってくるかが わかります。

> ページによって表示されないところもあります。

基本的にCGIの出力や、SSIを使っているページは
Last-Modified: は出力されないのではないでしょうか。

匿名希望 1998/08/07(金) 00:38:39
http://www.cup.com/negi/tips/xbithack.html
http://waseda.netjoy.ne.jp/~kusunoki/httpreq.html
が参考になるでしょう。

#waseda.netjoy.ne.jpはここ数日落ちていたが、復活。

(よ) 1998/08/17(月) 14:25:27
xbithackは試してみましたが、サーバーエラーになるので無理でした。
やはり、CGIやSSIが動くサーバー(というか、動かしている状態)なら無理なんでしょうか。
どこぞのページで、それ(Last〜)取得用のページを別に準備してある方がいらっしゃったのを
見たことがあったのですが、どこだったか忘れてしまいました。
確か、METAタグに<!--#echo var=”LAST_MODIFIED”-->とか含まれていたりしていたような感じのやつだったような...
#ソース見た状態で

もう諦めるしかないのかな。

とほほ 1998/08/17(月) 17:57:29
下記のような簡単なperlスクリプトで、簡易版テキストブラウザを実現
することができます。コマンドラインから、「perl スクリプト名 URL」
と実行します。これで、更新日時の表示されるページとされないページ
に、Last-Modified:が含まれているかどうか調べることができると思い
ます。

$ARGV[0] =~ /http:\/\/([^:\/]*)(:([0-9]+))?(\/.*)?/;
$host = ($1 ne "") ? $1 : "localhost";
$port = ($3 ne "") ? $3 : 80;
$path = ($4 ne "") ? $4 : "/";
$addr = (gethostbyname($host))[4];
$name = pack("S n a4 x8", 2, $port, $addr);
socket(S, 2, 1, 0);
connect(S, $name);
select(S); $| = 1; select(stdout);
print S "GET $path HTTP/1.1\n\n";
while (<S>) { print; }
close(S);

METAタグは恐らく、Last-Modifiedを送信しないサーバーの場合に強制的に
<META HTTP-EQUIV="Last-Modified" CONTENT="<!--#echo var="LAST_MODDIFIED"-->">
とでもやっていたのではないでしょうか。(推測)

[上に] [前に] [次に]