「一気に最後まで読んだ」本、教えて下さい!

自分のサイトのページを更新すると、サーチエンジンのロボット(クローラ)が「見に来る」ようですが、更新されたことをどうやってチェックしているのでしょうか?

まずアクセスして更新されたかどうか内容をチェックするのだろうと思っていたのですが、更新しないとクローラのアクセスがなく、更新するとそれっとばかりに「見に来る」ようなのですが⋯。

とりあえずアクセスして内容が変わっているかどうか調べるのであれば、更新していなくてもアクセスログに残りますよね?

ブラウザがファイルを要求してダウンロードするようなデータの流れなしで、ネット上のサイトのファイルのタイムスタンプを読みとれるものなのでしょうか?

どなたかご存知の方、教えてください。

A 回答 (5件)

 取れますよ。


 普段ブラウザには表示されませんが、実はブラウザは内部で「HTTPヘッダ」と呼ばれる情報を受け取っています。
 このヘッダにはサーバー情報や接続情報などのほかに、「これから受信しようとしているファイルの情報」も含まれています。
 それを見て、ファイルサイズとそのファイルの最終更新日付を知ることができます。
 通常ロボットは、現在手元にあるファイルの情報と比較し、「ヘッダに日付があればそれを見て更新されたかどうかを判断。日付が渡ってこなければサイズを見て判断」というロジックで、サーバー上のファイルの更新状況を判断します。
 更新されていなければ、アクセスを中止すればいいんです。

 ただし、それを知るためには「サーバー側がそういう情報を返すように設定されている」ことが条件です。
 中には、プロバイダのポリシーなどにより、ファイルサイズも日付もどっちも返さないようなサーバーもあります(滅多にないですけどね)。
 そういうサーバー上にあるファイルにアクセスする場合、更新されたかどうかをあらかじめ知ることはできません。

この回答への補足

メールのヘッダを見るように、HTTPヘッダを見るツールなんてものはないんでしょうか?

補足日時:2004/05/28 15:38
    • good
    • 0
この回答へのお礼

いや~、疑問が氷解しました、ありがとうございました!!

お礼日時:2004/05/28 15:37

 更新日付の話を書き忘れてました(^_^;


 滅多に返ってこないのは、お手持ちのチェックツールが悪いわけではありません。
 サーバーの設定をするプログラマが悪いのです。
 まぁ、端的に言って面倒くさいんですな。
 実際、どういう「日付形式」にすればいいのかという仕様が決まっているわけではないので、仮にあったとしても「クローラが解析しやすい形式」になかなかできないんですよ(^_^;
 だもんで、「ああ、もういいや! メンドくさ!」って感じで、手間を省くために日付を返さないように設定するんです。

この回答への補足

> たまたまそういうふうに見えるだけです。
やっぱりそうなんですか。私が管理しているある通販サイトで、15ある商品カテゴリの中で(それぞれ10~30ページくらい商品ページがあります)商品入れ替えや価格改定などの変更があったカテゴリのページだけにアクセスしてくるように思えたものですから…。
Googleなども最近データ収集の方法を大幅に変更したらしいですし、おっしゃるように「実際にはもっと複雑」なんでしょうね。

ただ、ひとつ疑問が残ります。
> 中には、プロバイダのポリシーなどにより、ファイルサイズも日付もどっちも返さないようなサーバーもあります(滅多にないですけどね)。
ということですが、実際に5ヵ所ほどあのツールでチェックしてみたら、どこも.htmlファイルの更新日を返しませんでした。
ひょっとして、「サーバーの設定をするプログラマが悪い」というのは自分のことかなと…。
今までSSIを.htmlで使えるようにするとか、ファイルリスト取得禁止やエラー画面のカスタマイズなどを.htaccessで設定してきましたが、更新日を返すかどうかも.htaccessで設定できるのでしょうか?
すみません、「.htaccessで設定できることは?」みたいな質問を別にするべきですかね…。

補足日時:2004/05/29 18:27
    • good
    • 0

>更新したときだけクローラが「見に来る」



 これはたまたまそういうふうに見えるだけです。
 以前の更新頻度から、だいたいの次回更新時期を察知してその想定のもとにデータを取りに来ます。
 無意識のうちに定期的に更新している人には、クローラがあらかじめ別の方法で更新を察知しているように見えるのです。
(実際にはもっと複雑ですが)

 俺は最近自分ちのログチェックにハマってるから分かるんですけど、あなたの更新作業を目で見て「あ、行かなきゃ」って思ってるわけじゃないのですよ。
    • good
    • 0

>HTTPヘッダを見るツールなんてものはないんでしょうか



 あー。あってもよさそうですね。
 今ベクター見たらいくつかあるみたいですよ。
 「HTTP ヘッダ」で探せば出てきます。

この回答への補足

> 「HTTP ヘッダ」で探せば出てきます。
ご親切にありがとうございます。早速「httpRequest Ver.1.01」というのを使ってみました。

はじめてのことで、かなり戸惑いましたが、分かったことは、
●独自ドメインのサイトではほとんどタイムスタンプは読みとれない(.css、.js、.gif、.jpgは可能なところもある)
●いわゆるプロバイダのホームページスペースにある.htmlはOK。

というところです。となると、またまた振り出しに戻ってしまうんですが、独自ドメインのサイトで(レンタルサーバですが)更新したときだけクローラが「見に来る」のは、どうやって更新を知るのでしょうか?

補足日時:2004/05/29 00:56
    • good
    • 0
この回答へのお礼

自分で探さなきゃだめですよね、すみません。

補足にも書きましたが、「HTTPヘッダを見るツール」で見た限りでは、ほとんどのサイトが更新日を返さないようでした。でも、お答えには「滅多にないですけどね」とあります、このツールがだめなんでしょうか? あ、それも自分で調べないといけないですね。

お礼日時:2004/05/29 01:18

想像ですが。

。。

前回見に行った時の、ファイルサイズを持っているんじゃ無いでしょうか?
ファイルサイズに変化があったら更新されている。と言う一つの判断になると思います。

サイズが変わらない更新(文字数を変えずに、内容を変更したとか。)の場合、この方法では取り出せませんが。
    • good
    • 0
この回答へのお礼

ご意見ありがとうございました。

お礼日時:2004/05/28 15:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報