現在のReferer Houndの実装は実験的なものであり、私以外の人間がこれを改良しようとするのは時間の無駄である。もし、複数のアプリケーションサーバを用いるような大規模な運用や、プログラマでない者が配備できるような簡単なパッケージを目指すなら、必ずゼロから書き直さなければならない。
Referer Houndを書き直す人々の助けになるよう、私が設計・実装にあたって下した判断について、ここに書きとめておく。
まず、アクセスを捕捉する方法について。
現在の実装では、サーブレットフィルタを用いて捕捉している。これに対して、HTTPサーバのログを解析するプログラムをcronなどで定期起動する方法もある。
後者を用いれば、そもそもサーブレットである必要がない。PHPかなにかで実装すれば、掲示板やアクセスカウンタのように簡単に配備できるようになるだろう。私が前者を選んだのは、趣味の問題(ポーリングが嫌い)でもあるが、静的生成したリンク元一覧をSSIでincludeするという方法を思いつかなかったからでもある。私はWeb系にまったく土地勘がないのだ。
後日に続く。