集めるのをやめたデータ
このサービスは以前、画面解像度を記録していました。ブラウザのスクリプトが window.screen を読み、res=1920x1080 として一緒に送り、統計ページにはそのためのパネルがありました。
もう記録していません。それを収めていた表は今日ゼロ行で、パネルは空の状態を表示します。読み取りをしていたスクリプトの行は、いまでは何がそこにあったかを述べるコメントです。
なぜ消えたか
画面解像度は識別の手がかりとして有効です — それ単体ではなく、リクエストが運ぶ他のものと合わさったときに。このサービスは訪問者についてできるだけ少なく保つことを目指していて、その機器を表す数字は元が取れていませんでした。あのパネルで何かをした人は、ついぞ現れませんでした。
これは決断の易しい半分です。難しい半分は、それを本当にすることでした。
ブラウザ側で止めるだけでは足りなかった
スクリプトからその行を消すと、スクリプトの新しい写しは送らなくなります。すでに外に出ている写しには何もしません。そしてそれは二種類あります。
- ブラウザはスクリプトを七日間保持します。どんな変更の後も一週間は、一定割合の訪問者が前の版を実行しています。
- 一部の利用者のページは、そもそもここからスクリプトを読み込んでいません — 何年も前に取った写しをテンプレートに貼り付け、以来触っていないのです。
二つ目には期限がありません。それらのページは res= を無期限に送り続け、サーバーはそれを仕舞い続け、変更は完了したものとして読めたでしょう。誰も見ていない訪問者についてだけ、それが偽であるままに。
そこでサーバーも受け取るのをやめました。届き、無視され、何も書かれません。これが実際に持ちこたえるほうの半分です。
これが避ける誤りの形
「収集を削除した」はコードについての主張です。「もう保持していない」はデータについての主張です。二つは別の主張で、ウェブでは前者が後者を含意しません。あなたのクライアント側のコードは、あなたが管理していない機械の上で、あなたが選んでいない版で、誰かのキャッシュやコピー&ペーストが生かしている限り動き続けるからです。
クライアントで切ったものは、サーバーでも切ること。クライアント側の変更は送信を止めます。サーバー側の変更が、その主張を真にします。
古い行はまだ残っていて、減りつつあり、まさにそのために書かれた小さな道具が少しずつ消しています。それが終わったとき、パネルは変わらず空で、そのときようやくそれが物語の大半ではなく全部になります。