Internet Explorer と Netscape Navigator は、どちらも自動プロキシ設定をサポートします。ブラウザの自動プロキシ設定は、拡張子 .pac または .js の JavaScript ファイルを含む特定の URL に設定されます。このファイルには、関数 FindProxyForURL() が含まれており、この関数には、ブラウザが接続要求を受信した場合に、使用するプロキシサーバを決定するロジックが格納されています。システム管理者は、特定のイントラネット環境に合わせてこの関数を記述します。ブラウザは、起動時に JavaScript ファイルの URL を認識し、直接接続を使用してローカルマシンにファイルをダウンロードします。新規接続が必要になるたびに、ブラウザはファイル内の JavaScript 関数 FindProxyForURL() を実行してプロキシ情報を取得し、接続を確立します。
Internet Explorer: Java Plug-in は、起動時に直接接続を使用して JavaScript ファイルをローカルマシンにダウンロードします。次に、新規接続が必要になるたびに FindProxyForURL() 関数を実行し、Internet Explorer の JavaScript エンジンを使用してプロキシ情報を取得します。
Netscape Navigator ブラウザ: Java Plug-in は、起動時に直接接続を使用して JavaScript ファイルをローカルマシンにダウンロードします。次に、新規接続が必要になるたびに FindProxyForURL() 関数を実行し、Netscape Navigator ブラウザの JavaScript エンジンを使用してプロキシ情報を取得します。
JavaScript 関数 FindProxyForURL() から呼び出し可能な、定義済みの JavaScript 関数が多数存在します。 Java Plug-in は、これらの関数を独自に実装することにより、自動プロキシ設定を完全にエミュレートします。この実装に関する注意点を次に示します。
ホストが IP アドレスではない場合、関数 dnsResolve() は常に空の文字列を返します。
ホストが IP アドレスではない場合、関数 isResolvable() は常に false を返します。
ホストが IP アドレスではない場合、関数 isInNet() は常に false を返します。
関数 FindProxyForURL() を実行すると、プロキシ情報は常に文字列として返されることに注意してください。Java Plug-in は、次の方法で設定を抽出します。
文字列内に「DIRECT」が含まれている場合、Java Plug-in は直接接続と判断します。
文字列内に「PROXY」が含まれている場合、最初のプロキシ設定を接続に使用します。
文字列内に「SOCKS」が含まれている場合、SOCKS v4 を接続に使用します。
それ以外の場合、文字列内のプロキシ情報は不正です。この場合、Java Plug-in は直接接続と判断します。
ブラウザごとの自動プロキシ構成の詳細は、ブラウザのユーザーズガイドを参照してください。