Win: 「インターネットオプション」の隠し設定

Internet Explorer の「インターネットオプション」は、IE コンポーネントを使用している他のブラウザや、WinInet.dll を使用しているアプリケーション全般に影響を与える。
通常はダイアログ上から設定を行うが、レジストリを直接いじらないと変更できない「隠し設定」の項目もある。


これらの項目は、そのほとんどがレジストリ

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

以下に格納される。初期状態で何らかの値が登録されているものもあれば、レジストリ上には値がなくて、別に定義されたデフォルト値が適用されているものもある。

DNS キャッシュのタイムアウトを変更する

263558 - Internet Explorer における DNS ホスト エントリのキャッシュの使用
http://support.microsoft.com/kb/263558/ja

DNS や hosts ファイルでの名前解決を行うと、一定時間その結果がキャッシュされる。デフォルト値は 30 分 (1800 秒)。変更するには、下記 2 つの値を作成する必要がある。

名前 種類 設定値 初期状態
DnsCacheTimeout REG_DWORD 秒数 値なし (デフォルト: 1800)
ServerInfoTimeout REG_DWORD 秒数 値なし

プロキシキャッシュのタイムアウトを変更する

271361 - Internet Explorer の自動プロキシ キャッシュを無効にする方法
http://support.microsoft.com/kb/271361/ja

プロキシサーバ経由で接続するように設定する場合、常に特定のプロキシを使うようにする他に、「自動構成スクリプト」を使用する方式がある。
この自動構成スクリプトは、おおまかにいうと、「ドメイン名を渡すと、適切なプロキシサーバ名を返す」という処理を JavaScript で記述したもの。また、同時に複数のプロキシサーバ名を返すようにすると、そのうちのどれかがランダムに使われる。つまり、複数のプロキシサーバを設置している環境で、負荷分散装置を設置しなくてもクライアント側で負荷分散してくれるようにできるわけだ。
ところが、1 回接続に成功すると、「この Web サーバに接続した時に、このプロキシを使った」という情報がキャッシュされる。その後にプロキシが落ちてしまうと、利用できるプロキシが他にあるにも関わらず、キャッシュがタイムアウトするまで「接続できません」というエラーになってしまう。
以下の値を変更すると、このキャッシュが行われなくなり、プロキシ障害に対する冗長性が増す。

名前 種類 設定値 初期状態
EnableAutoProxyResultCache REG_DWORD 0 (無効) または 1 (有効) 値なし (デフォルト: 1)

同時接続数を変更する

183110 - [INFO] サーバーあたりの接続数を制限する WinInet
http://support.microsoft.com/kb/183110/ja
282402 - 3 つ以上のダウンロード セッションを実行できるように Internet Explorer を構成する方法
http://support.microsoft.com/kb/282402/ja

ひとつの HTTP サーバへ同時に行える同時接続数を設定する。HTTP 1.1 と 1.0 のいずれのプロトコルを使用するかによって値が分けられている。ただし、同時接続数を増やすと接続先サーバに負荷がかかりやすくなるので注意。

名前 種類 設定値 初期状態
MaxConnectionsPerServer REG_DWORD 2〜16 値なし (デフォルト: 2)
MaxConnectionsPer1_0Server REG_DWORD 4〜8 値なし (デフォルト: 4)

Microsoft JVM が使用する User-Agent 名を変更する

320055 - BUG: Internet Explorer HTTP GET Request User Agent Incorrect for Java Applets
http://support.microsoft.com/kb/320055/en-us

今はほとんど使われていないが、Microsoft Java VM を使用して Java アプレットを動かす場合に、HTTP リクエストの User-Agent が正しくないことがあるらしい。正しいものにするには、以下の値を手動で書き換えないといけないようだ。

名前 種類 設定値 初期状態
User Agent REG_SZ 設定する値 (例) Mozilla/4.0 (compatible; MSIE 6.0; Win32)

「マイ コンピュータ」ゾーンの設定をダイアログからできるようにする

315933 - [インターネット オプション] でマイ コンピュータのセキュリティ ゾーンを有効にする方法
http://support.microsoft.com/kb/315933/ja

インターネットオプションのダイアログでは、「インターネット」「イントラネット」「信頼済みサイト」「制限付きサイト」の 4 つのゾーンについてセキュリティ設定を行うことができる。しかし実際にはもうひとつ、「マイコンピュータ」というゾーンがある。IE でローカルファイルを開く場合に、このゾーンとして扱われる。
下記の値を変更することで、マイコンピュータゾーンをダイアログ上に表示させることができる。

名前 種類 設定値 初期状態
Zones\0\Flags REG_DWORD 0x00000021 (表示しない) または 0x00000047 (表示する) 0x00000021

ただし、このゾーンの設定は非常に重要なので、うかつに変更しないよう注意が必要だ。
なお、Flags の設定値については他にも選べるが、割愛。

ActiveX のダウンロード先パスを変更する

175319 - How to Change the Download Location for ActiveX Files
http://support.microsoft.com/kb/175319/en-us

Web サイトからダウンロードした ActiveX は、デフォルトでは、"C:/WINDOWS/Downloaded Program Files" フォルダに格納される。
この設定もレジストリにある。ただし、ユーザ単位ではなくマシン単位での設定となるため、HKEY_CURRENT_USER ではなく HKEY_LOCAL_MACHINE 内になる。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings

値は以下の 2 つ。設定値は必ず同じものを指定する必要がある。

名前 種類 設定値 初期状態
ActiveXCache REG_SZ 保存先のパス C:\WINDOWS\Downloaded Program Files
ActiveX Cache\0 REG_SZ 保存先のパス C:\WINDOWS\Downloaded Program Files