このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

WebStar用のカウンターでリロードでもカウントしないものは?

発言者:RED.PINE
( Date Saturday, August 12, 2000 22:03:24 )


 QPQからWebstar3.0にサーバーを変更しました。
それでQPQで使用していたSSIグラフィックカウンターがつかえなくなったので、
countwwwebula-pluginをダウンロードしてテストしています。

 しかしQPQとは違い、リロードされるとカウントアップされてしまうようです。
これはIEだと戻るボタンでトップページに戻ってもカウントアップされないのに、
Netscapeのブラウザだとカウントアップされてしまうので発見されました。

 そこでお願いです。
どなたか、WebStar用のプラグインでcountwwwebula-plugin並に簡単に使えて、
リロードされてもカウントアップされないようなグラフィックカウンターを
ご存知ないでしょうか。(設置は私が行いますが、運用は別の方ですので)
数千円程度ならシェアウェアでも構いません。

よろしくお願いいたします。

→  アートハウス ホームページ

田中求之 さんからのコメント
( Monday, August 14, 2000 13:21:27 )

Plugin 形式のものは、基本的には、リロードの度にカウンターが更新される
はずです。というか、これがカウンターとしては正しい動作だと思いますが…

たまちゃん さんからのコメント
( Monday, August 14, 2000 14:04:25 )

お望みのことは当然出来ませんが,プラグイン形式のカウンタとしては
BIAP Counter があります。mutiple domain にも対応しています。

BIAP といえば,i2 社と業務提携の合意がありましたね。


→  BIAP Counter

weasel さんからのコメント
( Monday, August 14, 2000 14:11:24 )

> しかしQPQとは違い、リロードされるとカウントアップされてしまう
> ようです。

QPQがどんなカウンターを提供しているかはちょっとわからないのですが、
基本的に、どんなカウンターでもリロードを行うたびにカウントは増えて
いきます。もしかしたらSSIを使っている関係で、ブラウザーのキャッシュが
利いていたかもしれません。

もし、本当に1クライアント1カウントという形を取るのであれば
Cookieを利用するしかありません。私の記憶が正しければ
RescueのサンプルにそういったCGIが提供されていたはずです。

#ところでPerlはインストールされていますか?

→  Rescue

重松修 さんからのコメント
( Monday, August 14, 2000 16:23:52 )

単なるリロード対策だと、
(1) Conditinal-GET に対応させ
(2) GET の場合のみ、カウンタを進め
(3) 現在のカウントを返信
というのが、もっともスマートな動作だと思います。

田中求之 さんからのコメント
( Monday, August 14, 2000 16:35:48 )

リロードでは変わらないカウンタを作れと言われたら、私も重松さんと同じ
方法で作成しますね。たかがカウンターで Cookie を使うことはないと思います。

ただ、Conditonal_Get の場合、一度アクセスしたページには、その後は基本
的に Conditonal_Get でアクセスするようになりますので、キャッシュの有
効期限をコントロールしないと、いったんアクセスしたページは、2度と
カウンターが更新されないことになってしまいます(もちろん、ブラウザ
側で Option-Reload すれば別ですが)。

このへんのキャッシュ利用の時間コントロールがポイントかな。

Cookie の場合には、ブラウザを終了するまでは同じものが表示されるが、
いったん終了してしまえば、あらたに読み込むようになりますから、この点は
気楽に考えればいいんですがね。


でも、個人的には、そもそもセッションという概念がない HTTP でのカウ
ンターにそこまで厳密な動作を求める必要性は感じないんですがね…

しあわせのツボ さんからのコメント
( Monday, August 14, 2000 17:21:35 )

私の個人ページではプロバイダ提供のカウンタを使っていますが、
これは「同一IPからの連続リロード」を無視します。

> でも、個人的には、そもそもセッションという概念がない HTTP でのカウ
> ンターにそこまで厳密な動作を求める必要性は感じないんですがね…

と私も思うので、cookieを焼いたりキャッシュ期限を定めたりといった
手間を考えれば、こんなあたりがお気楽で実用的ではないかと
思うのですが、いかがでしょう。

重松修 さんからのコメント
( Tuesday, August 15, 2000 00:28:13 )

アクセス数が相当少なければ別ですが、
過去いくつかのIP位は控えておかないとあまり効果がないかもしれません。

それから、Conditinal-GETの方法ですが、田中先生に、私の真意が
伝わっていないようなので補足します。

私が考えている方法では、基本的に Not Modified は返しません。
単に、カウンタを進めるか、進めないかの識別に、Conditinal-GET
かどうかを利用し、そのときのカウンタをイメージにして送り返します。
本当に、それが最新のカウンタならば、そのときだけ、
Not Modified を返す風にすれば、現在の客数は知ることができるという
わけです。

つまり、あなたはN番目のお客、ではなくて、現在までにN人がきました、
ということもできると言うことです。
もちろん、前者にしたければ、Conditinal-GETには、常にNot Modified
と答えればよいだけですので、簡単です。

田中求之 さんからのコメント
( Tuesday, August 15, 2000 01:00:13 )

>つまり、あなたはN番目のお客、ではなくて、現在までにN人がきました、
>ということもできると言うことです。

あ、なるほど、そういうことでしたか。Proxy の利用者に目をつぶれば
それなりの意味のある数字を得られるかもしれませんね。

RED.PINE さんからのコメント
( Wednesday, August 16, 2000 00:24:53 )

 皆様 ありがとうございます。

そうですね、確かに厳密な何番目の訪問者か、というのはあてにならないようですね。まぁある程度の目安ですし。
重松さんのご指摘にあるような対策を取れるカウンターってありますでしょうか?

> 「同一IPからの連続リロード」を無視
これでもOKな様な...
>キャッシュ期限を定めたり
行ってすぐ戻るような場合や故意のリロードだけ防げればOKですので、
3〜5分程度キャッシュを保持するかリロード対策できれば用を足せます。

BIAP Counter は確かWebStarのCDに入っていたように思います。
が、設置のパラメーターが結構面倒くさそうなので、避けたように覚えています。
IMGタグで、.Counterって名前を指定するだけのようなお手軽なのでないと
運営上、かなりお客さんが困りそうなのと、いままでもQPQのSSIカウンターが
この書き方だったのです。デフォルトなら手直ししなくてもすむのでありがたいのですが...

クッキーなしでリロード対策できるものがあれば、なんとかマニュアルを書くなりして
対処しようと思いますので、IMGタグ以外のものでも結構ですから、ご存知でしたら
お教え願えませんでしょうか。

重松修 さんからのコメント
( Wednesday, August 16, 2000 12:58:07 )

私自身 Linux + Apache に移行しましたので、あまり開発してないの
ですが、一応、今度のバージョンアップの際の検討項目にあげておきます。

まあ現状 cgi ですが、W*API の plugin も挑戦してみたいと思ってます
ので。でも、作っても、試す環境がないのが痛いな。。。

→  counter.acgi

RED.PINE さんからのコメント
( Saturday, August 19, 2000 01:55:44 )

 おー ありがとうございます。>重松様
実現できたら使用させていただきたいと思います。

W*APIの plugin  ってQPQでも使えませんでしたっけ?
あ、Mac自体が無いのかな?(^^;

れびん さんからのコメント
( Saturday, September 02, 2000 02:33:29 )

ちょっと遅いコメントですが(^^;

Count WWWebulaなら、CGI版はもちろんPlugin版でもSetupを使って
参照URLに特定のIPまたはドメイン名を含むという条件でのカウンタアップ
規制が可能かと。他のページとの兼ね合いもあるから使えるかどうかは
サイト次第でしょうけど。

ウチではこれにwww.mydomain.co.jpを入れて、強制リロード以外での
サイト内ジャンプによるカウンタアップを殺してます。
まぁいずれにしても気休めなカウントでしかないんですけどね。
あ、使ってるCount WWWebulaのバージョンは1.5です。

RED.PINE さんからのコメント
( Saturday, September 02, 2000 22:42:31 )

 ありがとうございます。 れびん様

うーん マニュアルの読み落しでしょうか(^^;
調べて見ます。