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 |