Hebikuzure's Tech Memo

2013年4月28日

Internet Explorer 10 では一時ファイル管理方法が変更されている

Filed under: Internet Explorer — hebikuzure @ 12:22 PM

「IE のキャッシュのオフライン調査について (改訂版)」
http://www.slideshare.net/hebikuzure/iecachedata-20130427-20103419


昨日の第4回「ブラウザー勉強会」で発表した内容で、上に掲載したリンクで資料スライドも公開していますが、こちらでも簡単にまとめを書いておきます。

Inetrnet Explorer 9 以前

Internet Explorer 5 以降、Internet Explorer 9 までのバージョンでは、インターネット一時ファイル (キャッシュ、サーバーからダウンロードしたコンテンツを再利用のため一時保存したもの) の管理方法は同じでした。これはよく知られているように、以下のような仕組みです。

  • インターネット オプションで表示される既定の一時ファイルの場所は以下のパス (Windows Vista 以降の場合)
    %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files
  • 実際の一時ファイルは既定では以下のフォルダに格納される(Windows Vista 以降の場合)
    – 保護モード無効のキャッシュ
    %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5
    – 保護モード有効のキャッシュ
    %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5
  • Content.IE5 フォルダには以下が格納される
    – index.dat
    インデックスファイル
    – キャッシュフォルダ
    ランダムな英数8文字の名前のフォルダ
    フォルダ内に一時ファイルの実データ ファイルを格納

一時ファイルのメタ データ(「インターネットアドレス」「有効期限日時」「最終変更日時」「最終アクセス日時」「最終チェック日時」など)は index.dat にバイナリ情報として保存される
(ただし一部の情報はテキストがそのまま格納されるので、index.dat から簡単に抽出できる)

IE9 までの index.dat はデータ構造非公開のバイナリ ファイルで、その内容へのデータ アクセスは WinInet API 経由でのみサポートされています。またデータ管理は WinInet が直接行っており、データベースとしてはあまり堅牢ではありませんでした (ご存知の方も多いように、よく壊れます)。

Internet Explorer 10

Internet Explorer 10 での一時ファイルの管理方法は以下の通りです。

  • インターネット オプションで表示される既定の一時ファイルの場所は以下のパス (IE9 までと同じ)
    %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files
  • 実際の一時ファイルは既定では以下のフォルダに格納される(IE9 までと同じ)
    – 保護モード無効のキャッシュ
    %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5
    – 保護モード有効のキャッシュ
    %userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low\Content.IE5
  • Content.IE5 フォルダには以下が格納される
    – container.dat
    キャッシュ管理に関する一時ファイル(?)、通常サイズ 0 バイト
    – キャッシュフォルダ(IE9 までと同じ)
    ランダムな英数8文字の名前のフォルダ
    フォルダ内に一時ファイルの実データ ファイルを格納
  • 一時ファイルの管理情報は以下の場所に保存される
    %userprofile%\AppData\Local\Microsoft\Windows\WebCache

WebCache フォルダ(保護されたオペレーティング システムのフォルダになっています)を表示すると、以下のようになっています。

image

これらのファイルの中で一時ファイルのメタ データ(「インターネットアドレス」「有効期限日時」「最終変更日時」「最終アクセス日時」「最終チェック日時」など)を記録・管理しているのは、WebCacheV01.dat(環境によっては WebCacheV24.dat になる場合もあるようです)です。

WebCacheV01.dat(または WebCacheV24.dat)は Windows 内蔵のデータベース エンジンである Extensible Storage Engine のデータベースで、ここに IE9 まで index.dat で管理されていた情報が保存されています。Extensible Storage Engine は Jet Blue とも呼ばれるデータベース エンジンで、Windows では Exchange、 Active Directory、Desktop Search などのデータ管理で利用されています。Internet Explorer 10 では WinINET から Extensible Storage Engine が呼び出され、実際のキャッシュ情報の管理を行っています。

image

管理方法は変更されていますが、index.dat と同様、WebCacheV01.dat(または WebCacheV24.dat)にも一時ファイルの URL やサーバー レスポンス ヘッダーなどの情報はテキストでそのまま保存されていますので、適切なツールを利用すれば抽出できるのも同じです。

image

IE9 までのキャッシュ関係のトラブルでは、別ユーザーでログオンするなどして Temporary Internet Files 以下のファイル/フォルダを削除する方法が有効でしたが、IE10 ではこれに加えて WebCache フォルダも初期化する必要があると考えられます。この辺りの動作についてはまだ未検証なので、いずれ調査したいと思います。

広告

2013年4月1日

最近の活動

Filed under: Information — hebikuzure @ 9:04 PM

諸般の事情でブログ更新が滞っていますが、hebikuzure の最近の活動のお知らせです。

まずここまでの活動です。マイクロソフトさんの「Internet Explorer ブログ (日本語版)」に以下の二つの記事を寄稿させていただきました。

いずれも Internet Explorer 10 で強化・更新された機能ですので、ぜひご活用ください。

それから「2013 MVP Global Summit」に参加してきました。MVP Global Summit は世界中の Microsoft MVP が集まる、エンジニア カンファレンスで、例年 2 月にアメリカ・ワシントン州ベルビュー (Bellevue) とレドモンド (Redmond) で開催されています。3日間の開催期間中、Internet Explorer 開発チームのセッション (昼) と、交流を深めるパーティ (夜) でみっちりのスケジュールですが、とても充実した経験でした。下は会場となったレドモンド (Redmond) の Microsoft 本社キャンパスです。

DSC00108

こちらは宿泊したホテル (Hyatt Regency Bellevue) の部屋から見た Bellevue の街並みです。

DSC00101

最後に、去年の9月以来となる「第13回 ネットワーク パケットを読む会(仮)」を3月21日に開催しました。下はその模様です。

DSC00004 (2)

次に今後の予定です。

まず近日中に「Internet Explorer ブログ (日本語版)」にもう1本寄稿記事が掲載される予定です。こちらは Web Workers についての解説記事です。

勉強会では、久しぶりに「ブラウザー勉強会」を開催します。開催要領は以下の通りです。既に参加申込受付を開始していますので、よろしくお願いいたします。


「第4回ブラウザー勉強会」

  • 日程 : 2013 年 4 月 27 日 (土)
  • 時間 : 10:30 ~ 16:45
  • 会場 : 大田区産業プラザ PIO (3 階) 特別会議室
    (大田区南蒲田1丁目20−20 / 京急蒲田駅徒歩3分、JR蒲田駅徒歩13分)
  • 内容 :
    • 午前の部 : コミュニティ セッション (発表者募集中)
    • 午後の部 : ゲスト セッション / テーマ 「私の好きな JavaScript」
      • 「JSer なら 1 行にコダワレ – モテる JavaScript-」日本マイクロソフト・物江修さん
      • 「JavaScriptがもっと好きになる。JavaScriptを知るために」吾郷協さん
      • 「(題未定)」沢渡 真雪さん
      • (他、スピーカー交渉中)
      • ライトニング トーク (発表者募集中)
  • 会場費・設備利用費・運営費としてお一人1,000円のご負担をお願いしています
    ※午前の部のみ参加される場合は、参加申込不要です。また参加費も300円といたします。午前・午後通し参加の方、および午後の部のみ参加の方は参加申し込みが必要です。

今回のゲスト セッション テーマは「私の好きな JavaScript」です。モダン ブラウザーは Web アプリケーションのプラットフォームとして位置付けられていますが、そのクライアント側での動作を支えるのが JavaScript です。
しかし JavaScript はその成り立ちや標準化の経緯から、他の開発用言語とは異なる独特の色合いを持っています。そのため「JavaScript のココが好き」「JavaScript のココが嫌い」という人それぞれの好みが分かれる言語でしょう。
今回はそうした JavaScript への愛憎を語っていただく企画です。

参加申込 : 参加申込ページ (http://www.zusaar.com/event/622003) からお申し込みください。


また4月19日(金)に「ネットワーク パケットを読む会(仮)」を開催する予定です。今回は「フレッシャーズのためのネットワーク パケット解析入門」という内容で、初心者向けのチュートリアルを中心として開催したいと思っています。

以上、いろいろと活動していますので、どこかで見かけたらよろしくお願いいたします。

WordPress.com で無料サイトやブログを作成.

%d人のブロガーが「いいね」をつけました。