第二章: 開発-2
2-1: αテスト-1
反応はすぐに寄せられた。現状、wormが発見した、ユーザの要求に合うページは、wormが存在するサーバから、wormが送るメールに頼っていた。これについて、セキュリティに関する疑問が寄せられていた。だが、それはまだ多く寄せられた反応ではなかった。メールであるということから、結局URLをコピペして使うことに対しての改善の要望がなにより多かった。加えて、wormの生存確認、あるいはむしろTTL、つまり生存期間に関する要望が多かった。
wormのTTLについてであれば、それはwormのコードに記述し、サーバを移動するごとにTTLの値を減算すればよかった。wormの生存確認はTTLとセットにして考えるよりも、wormから送られるURLの記録方法とセットにして考えるほうがいいように思えた。
wormが今どこに存在するかは、不明と考える。wormからの生存報告あるいはURLが送られることで生存が確認でき、どこに存在するか、あるいは直近でどこに存在していたかが判明する。メールに頼らない方法とするには、ともかくwormからの報告を受信するデーモンないしサーバを用意するのがいいように思えた。一定時間、その報告がなければ、放流したwormはロストしたとすることがいいように思えた。
ロストしたと考えられる報告は、そのデーモンないしサーバが、ユーザにメールを送ることとすればいい。問題は、wormから報告されたURLをどのように記録するかだった。キーワードとURLの羅列では、結局コピペに頼るしかなく、問題の解決にはならなかった。他に取れる方法としては、その記録をtext/html形式で保存するもののように思えた。その形式であるなら、ブラウザでそのファイルを開けば、そのままリンクとしてジャンプできる。
ただそれだけならば簡単ではあった。
「だけどなぁ。その方法にするなら、URLは整理された形で記録と保存をしたい」
歩は机の上の研究ノートに、その課題を書き込んだ。
ここでの課題は、とりあえず一つ。そのデーモン、あるいはサーバを個々のユーザが持つのか、それとも研究室やサイトで一つのデーモン、あるいはサーバを動かし、それが個々のユーザの記録ファイルをパーズし、また書き込むのか。一つめの方法では、生存報告を受けるポート番号の問題があるかもしれなかった。二つめであれば、ファイルを書き込む権限の問題があるように思えた。
「なら、両方を使えばいい」
wormがまず接続するデーモンがあり、そこからユーザ権限で動いているデーモンに接続を引き渡す。ごく普通の通信のモデルだった。
すでに存在する、wormからの報告を記録するtext/html形式のファイルをパーズするのは、現在のHTMLの規格ではすこしばかり面倒かもしれなかった。というのも、タグを閉じる必要がない場合が認められており、あるいは閉じるタグが規格に存在しない場合もあったからだった。
ただ、ブラウザにおけるHTMLのタグの扱いは緩やかなものであり、規格において存在しないタグは無視される。ならば、閉じるタグを書き込んでいけない理由はないし、それが書かれているほうが、パーズは確実であり、なおかつ容易であった。文字コードの問題を置いておけば、awkで充分に扱えるくらいに。
問題があるとすれば、ユーザに属するデーモンが起動していることを確実にすることだった。とは言え、ユーザがログインするたびに、窓口になるサーバにリモートで起動あるいは存在の確認をすれば事足りる問題でもあった。
現時点で寄せられている要望については、この方法で対処できるように思えた。
歩は二週間ほど後に、wormからの報告を受け付けるデーモンを含めた次のバージョンを、テストに協力してもらっている研究室に配布した。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます