Web サイトがあり、議論のために、バックエンドが Java で書かれていると仮定しましょう。
また、Web サイトのユーザーのクリックストリーム データを取得したいとします。たとえば、さまざまなことを追跡したいと考えています。
- 知財
- アクセス時間
- 照会
- ユーザーエージェント
- 等
もう 1 つの仮定は、REST インターフェイスを備えたクリックストリーム Web サービスがどこかにあり、配信した情報をデータベースに保存するだけであるということです。
さて、このことに関する私の限られた知識からすると、2 つの問題が見えます。
- クリックストリーム データがキャプチャされ、ユーザーが回避しないようにするにはどうすればよいですか?
- クリックストリーム サービスをポータブルにする方法は?
現時点では、クリックストリームを実装する方法が 2 つありますが、どちらにもいくつかの欠陥があります。
- Javascript を使用してクリックストリーム データを送信し、移植可能にすることで、バックエンド コードを変更せずに任意の Web サイトにフックできます。変更する必要があるのは HTML のみです (これらはマイナーなものです)。
HTMLページを持っている
<body onload="captureAndSendClickStreamData();">...</body>
captureAndSendClickStreamData()
含まれている Clickstream.js の関数はどこにありますか。
明らかに、このアプローチは簡単に移植できますよね?しかし、ユーザーが JS を無効にするとどうなるでしょうか。本質的に、彼はあなたが懸命に取り組んできたクリックストリーム サービスをブロックしています。
ClickStreamServletFilter
一部のクラスでクリックストリーム データのキャプチャを処理します。明らかな利点は、エンド ユーザーがそれについて何も知らず、実際に無効にすることができないことです。ただし、クリックストリーム サービスを使用して他のサイトを拡張するには、バックエンドを台無しにする必要があります。強化しようとしている Web サイトが Java で書かれていない場合はさらに面倒です。
だから、私の最後の質問は次のとおりです。
- 言及されたアプローチにそれほど明白ではない(不利な)利点は他にありますか?
- 他に実行可能なアプローチはありますか?
- グーグル、フェイスブック、アマゾンなどの大物はこれにどう対処するのだろうか?
お時間をいただきありがとうございます:)