[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]

Analog 5.24: Web の動作原理


この章では、誰かが Web サイトにアクセスした時に何が起こるか、またそこからどういった統計情報が取得できるのかについて説明します。これについては、様々な誤解が生じています。実際には計算できず、概算で見積もることしかできない数値を計算したものだとして出力する統計プログラムは役に立ちません。実際のところ、把握したいと思っていて、実際に把握できていると考えている、ある種のデータは、実際には把握することができないというのが単純な事実です。他のプログラムが出力した見積りというのは、単に外れているというだけでなく、そもそも誤っています。たとえば、10 個の画像が含まれている Web ページに AOL のユーザがアクセスしたとすると、大半のプログラムは 11 人からのアクセスがあったと計算してしまいます。

この章はやや長くなっていますが、熟読することをお勧めします。Web の動作原理の基礎を理解すれば、Web の統計情報が実際に意味するところを理解できるようになるでしょう。


1. 基本モデル わたしがあなたの Web サイトにアクセスしたとしましょう。 わたしはどこかのページからリンクをたどって、あなたのトップページにたどり着き、幾つかのページにアクセスして、リンクをたどって Web サイトから出ていったとします。

このことから何がわかるでしょうか? まず、わたしはトップページに対してリクエストを1回行ないました。あなたは、そのリクエストがあった日付や時刻、また(もちろん)どのページに対するリクエストであったか、更にわたしのコンピュータ(ホスト)のインターネットアドレスを確認できます。また、普通はどのページからあなたのサイトにアクセスしたのかという参照元ページの情報、さらにブラウザの種別などの情報も確認できます。一方わたしのユーザ名やメールアドレスを確認することはできません。

さらに、わたしは(実際はブラウザが自動的に行なう処理ですが)、ページに画像があるかどうかを確認します。ページに画像があり、ブラウザで画像の表示を許可している場合は、各画像の読み込みのために個別にアクセスを行ないます。わたしがあなたのサイトに対してログインを行なうことはなく、ダウンロードが必要なファイルがあると、一連のリクエストを行なうだけです。各画像の参照元ページは、トップページになります。仮にトップページに 10 個の画像があったとすると、わたしは、あなたのサーバに対して 11 回のリクエストを行なうことになります。

その後、わたしはあなたの Web サイト内の別のページにアクセスし、各ページおよび画像に対して個別にリクエストを行ないます。最後に、わたしはリンクをたどってあなたのサイトから出ていきます。あなたは、これについて知らされることはありません。わたしは何もいわずに、ただ次のサイトに対してアクセスを行なうだけです。


2. キャッシュ このようにいつも単純であるとは限りません。考慮すべき点としてキャッシュの存在が挙げられます。キャッシュには大きく分けて2つの種類があります。1つは、Webページをダウンロードした際にブラウザが自動的におこなうキャッシュです。このキャッシュにより、次の日に同じページにアクセスした際などに、すべてのページをダウンロードする必要がなくなります。ブラウザの設定にもよりますが、ページが変更されたかの確認だけを行なうかも知れません。この場合、Web サイト側でもそのような形のアクセスがあったことが検知され、Analog はそれをページに対する新規のリクエストとして扱います。しかし、ブラウザがこの確認を行なわないように設定している場合は、キャッシュからページ読み込みが行なわれますので、Web サイト側でそれについて検知することはできません。

もう1つのキャッシュは、もっと大規模なものになります。ほとんどすべての ISP は独自のキャッシュシステムを持っています。このキャッシュにより、わたしが見ようとしたページを同じ ISP から接続している別の人が最近見ている場合、そのページはキャッシュに保存されているため、Web サイト側で検知されないまま、そのページがキャッシュから返却されます。(これはブラウザの設定に依存しません。) そのため、Web サイトに1度アクセスがあっただけで、実際には何百人もの人が、そのページを読んでいる可能性があります。


3. 確実にわかること 確実にわかることは、サーバに対して行なわれたリクエストの数と、それらがいつ行なわれたか、どのファイルがリクエストされたか、どのホストからリクエストが行なわれたかだけです。

ブラウザの種類や、参照元のページについての情報も取得できます。しかし、多くのブラウザは故意にブラウザの種類を偽っていたり、そもそもブラウザ名をユーザに設定させたりしていることに注意してください。またブラウザによっては不正な参照元ページの情報を送信するため、実際にはそのページが参照元ページでない場合でも、あたかもそれが最後にみたページであるかのように見えてしまう場合があります。また「anonymizer」を使って、故意に誤ったブラウザ情報や参照元ページの情報を送付する人もいます。


4. 知ることができないこと
  1. 閲覧者を特定することはできません ユーザに対して、明示的にパスワードなどを要求しない限り、だれが接続してきたか、また接続してきた人の電子メールアドレスは何かといった情報を知ることはできません。
  2. 何人の人がそのページを閲覧したのかがわからない リクエストを行なったホスト数を計算すれば、推測を行なうことはできます。 実際、多くのプログラムがレポートしている「訪問者数」は、この意味になります。 しかし、以下の3点により、これが常によい算出方法であるとはいえません。 第1の点は、ユーザがページをローカルなキャッシュサーバから取得した場合、それを知る術はないという点です。 第2の点は、多くのユーザが同じホストからアクセスしているようにみえる場合があるという点です。これはユーザが同じ会社や ISP に所属しており、ユーザが同じプロキシサーバを使っている場合などが該当します。 第3の点は、一人のユーザがいくつもの異なるホストからアクセスしているようにみえる場合もあるという点です。現在 AOL は、リクエストごとに異なるホスト名 を割り当てています。そのため、10個の画像があるページに AOL のユーザがアクセスすると、ほとんどのプログラムは、11人の異なるユーザからアクセスがあったと判断してしまいます。
  3. You can't tell how many visits you've had. 多くのプログラムは、under pressure from advertisers' organisations, 「訪問(visit)」(もしくは「セッション」)を30分以上の間隔をあけずに同じホストから行なわれた一連のリクエストとして定義しています。 しかしこれは以下に説明するような理由のため、適切な方法であるとはいえません。 第一に、この方法は、各ホストは特定のユーザに対応づけられおり、逆もまた真であるという前提条件の元になりたっています。実際には、直前で説明したように、これは全く正しくありません。 第二に、この方法は、一連の「訪問」において、アクセスに30分以上の間隔があくことはあり得ないという前提条件の元になりたっています。これも実際のところ正しくありません。わたしは、リンクをたどってあるサイトから出ていった後に、再度ブラウザの「戻る」ボタンで元いたサイトに戻ることがよくあります。これを29分後に行なうか、31分後に行なうかといったことが本当に意味のある違いなのでしょうか? 最後に、これらのプログラムは、計算を行なう上で、ログファイルが時系列に記録されていることを前提としています。実際のところ、常に時系列になっているとは限りませんが、Analog は、そうした場合でも通常の場合と同じ結果を出力します。
  4. クッキー(Cookie)は問題の解決にはなりません サイトによってはクッキーを使ってアクセスした人数を計算しようとしているところがあります。これは推測の誤差を減らす役にはたちます。ただし、クッキーを受け付けることができないか、受け付けようとしない人にページを読ませないようにしない限りは、問題の解決にはなりません。また、アクセスする人が次回のアクセス時にも同じクッキーを使ってくれることが、この方式が機能する前提条件になります。
  5. You can't follow a person's path through your site. 各ホストとユーザが1対1で対応すると仮定しても、ユーザがサイト内をどのように動き回ったかを知ることはできません。ダウンロード前にユーザが「戻る」ボタンでページを戻ることはよくあることです。ブラウザがキャッシュしているため、こうしたページに対する2回目以降のアクセスを検知することはできないでしょう。そのため、ユーザがサイト内をどのように動き回ったかを正確にたどることはできません。
  6. どこからサイトに来たのか、またどこでサイトを見つけたのかは不明なこともよくあります キャッシュサーバを使っている場合は、Web ページをキャッシュから取得している場合もよくありますが、すべてのページがキャッシュに格納されていない場合もあります。この場合、検知できるアクセスは、実際のサイトへのアクセスの途中の部分からになるでしょう。
  7. どのようにしてサイトから去ったのか、また次にどこにいったのかを知ることはできません 別のサイトへのアクセスについてはまったくわかりませんので、それらを検知することもできません。
  8. 各ページを読むのにどのくらい時間を掛けているかはわかりません 繰返しになりますが、各ページに対するリクエストの間に、どのページを読んでいるかはわかりません。以前にダウンロードしたページを読んでいるかも知れませんし、リンクをたどって他のサイトにいっており、しばらくしてから戻ってきたのかも知れません。またマインスイーパ(ゲームの一種)をやるために、ページを読むのを一時中断していたのかも知れません。何をしていたのかはわかりません。
  9. ユーザがどのくらいサイトに留まっていたのかはわかりません すでに説明してきた理由に加え、もうひとつ、決定的な理由があります。 プログラムが報告する時刻は、最初のリクエストから最後のリクエストまでの間の時間ですので、最後のページで費やした時間については計算に入っていません。しかし、これが全体の時間の大部分を占めていることもよくあります。

5. 実際のデータ もちろん、重要な問題は、これらの理論的な問題により、現実とどの程度の差異が生じるかでしょう。最近の論文 (World Wide Web, 2, 29-45 (1999): PDF 228kb)で、Xerox Palo Alto Rresearch Center の Peter Pirolli と James Pitkow は、xerox.com Web サイトのログファイルを 10 日分使って、この問題に取り組みました。もっとも衝撃的な結論の一つは、よく用いられている幾つかの方法を比べても、結果がまったく異なったものになるといった点でしょう。 例えば、平均アクセス時間を測定した場合、新しいアクセス者や新しいアクセスをどのように計算するかによって、結果に 137 秒から 629 秒までの開きが見られました。 彼らは、ログファイルを確認している際に、キャッシュを拒否するといったサーバ側の設定変更の効果について考慮していませんが、これは更に結果を変動させ得るものになるでしょう。
6. Conclusion 少なくとも、HTTP はステートレスなプロトコルであるということは言えます。これは、人々がログインせずにドキュメントを参照することが可能であるということを意味します。要求するファイルごとに個別のコネクションが確立されますので、大半の時間は、サイトにログインしているようには見えません。 The world is a lot messier than this naïve view implies. これが、ユーザが何をしているか推測するよりも、確実に把握できるサーバに何が起こっているかについての観点から、Analog がリクエストのレポートを行なっている理由になります。

「訪問数」などを計算している根拠として、どちらも類似したものであるという意見がありますが、わたしは賛成できかねます。現在大半の人がキャッシュ経由で Web サーバに対してアクセスを行なっています。キャッシュから取得されるリクエストが 50% 程度(これは非現実的な数字ではない(訳注: 現在は動的な Web ページの割合が高まっていることなどから、ヒット率は 20% 程度まで落ち込んでいるのが実情です)) の場合、ユーザからの要求の半分はサーバに届いていないことになります。

これらの方法を計算している別の根拠として、サイトを比較する上での何らかの指標値を算出しているという意味において、やはり有益だという意見もあります。 これは、サイト間においてそうした値を比較することが可能であるという前提条件の元になりたっていますが、それが正しいという根拠は何もありません。Pirolli と Pitkow によれば、そうした数値は、算出方法やサーバ自身の設定に強く依存するものであるという結論がでています。仮に方法論で何らかの合意が得られた場合であっても、各ユーザはサイトによって異なったアクセスを行ないます。例えば、Pirolli と Pitkow は、平日と休日とでサイトにおけるユーザの行動パターンに違いが見られるという報告を行なっています。

わたしは、わからないことは何かを強調したかったので、ここまでやや否定的な見方で説明を行なってきました。もちろん Web の統計には様々な情報が含まれています。ただし、「このページに 30,000 リクエストがあったという情報から、「30,000 人がこのページを読んだ」と誤解してしまわないようにすることが重要です。 ある意味、これは Web の世界で初めて起こった問題ではありません。印刷メディアの世界でも同じ問題はすでに起こっています。例えば、雑誌の販売数がわかったからといって、何人がそれを読んだかはわかりません。印刷メディアの世界では、把握できる情報を使うことで、こうした問題と向き合っています。Web の世界でも、架空の数字をでっちあげるのではなく、印刷メディアの世界と同じようにした方がよいのは明らかでしょう。


7. 謝辞と参考文献 多くの人々が、同じ趣旨の著作物を著しています。この章を初めて執筆した際には、以下の3つの解説から有益な情報を得ました: Doug Linder によるInterpreting WWW Statistics、Tim Stehle による Getting Real about Usage Statistics、Dana Noonan による Making Sense of Web Usage Statistics (後者2つについては、もはや Web 上で参照できる見込みはないでしょう。)

これらの事項について良く記述されているドキュメントとしては、Susan Haigh と Janette Megarity による Measuring Web Site Usage: Log File Analysis があります。これは、カナダ政府のサイトにおいて、英語フランス語 の両方で参照することができます。 もっと否定的な見解として、Jeff Goldberg による Why Web Usage Statistics are (Worse Than) Meaningless も参照することが可能です。


Analog ホームページ

Stephen Turner
25 June 2002

Analog についての質問はanalog-help メーリングリスト をお使いください。 (訳注: 日本では analog-jp メーリングリスト をご利用ください)

[ 先頭 | 上へ | 前へ | 次へ | 目次 | 索引 ]