Firefox 3の履歴データの構造を理解する

杉山貴章(オングス)
2008-10-21 17:00:00
  • このエントリーをはてなブックマークに追加

moz_historyvisitsテーブルに含まれる情報

 Placesデータベースのmoz_historyvisitsテーブルに定義されている各フィールドは、次のような情報を保持する。

  • from_visits - このページへの移動元である履歴データID
  • place_id - このページの情報を保持するmoz_placesのID
  • visit_date - このページの訪問時間。PRTimeフォーマットで表される。
  • visit_type - 訪問方法の種類
  • session - セッション番号

 例えば図1の例では、id:6の履歴データのplace_idが48である。したがってmoz_placesテーブルのid:48のデータを見れば、これがMozilla JapanのFirefoxアドオンのページの履歴であることがわかる。またid:7の履歴はfrom_visitは6なので、Firefoxアドオンのページからのリンクで移動してきたことがわかる。

図1 moz_historyvisitsとmoz_placesを合わせることでページの訪問履歴を調べることができる
図1 moz_historyvisitsとmoz_placesを合わせることでページの訪問履歴を調べることができる

 PRTimeフォーマットはUTCで1970年1月1日午前0時ちょうどからの経過マイクロ秒を64bitのinteger型で表したもの。したがって1,000,000で割って整数部だけを取り出せばUNIXのタイムスタンプと同じ値になる。

 visit_typeには1から7までの値が格納され、ぞれぞれ次の意味を持つ。

表1 visit_typeに格納される値
タイプ 意味
1 TRANSITION_LINK リンクでの移動によって訪問したページ
2 TRANSITION_TYPED ロケーションバーに直接URLを打ち込んだり、履歴メニューから選択することで訪問したページ
3 TRANSITION_BOOKMARK ブックマークからの訪問したページ
4 TRANSITION_EMBED iframeなどの内部コンテンツによって表示されたページ
5 TRANSITION_REDIRECT_PERMANENT Permanent redirectによってリダイレクトされたページ
6 TRANSITION_REDIRECT_TEMPORARY Temporary redirectによってリダイレクトされたページ
7 TRANSITION_DOWNLOAD ダウンロードされたコンテンツ

 次回はSQLを用いてこのテーブルから履歴情報を取得してみようと思う。

  • 新着記事
  • 特集
  • ブログ