プロキシ自動設定
プロキシ自動設定(プロキシじどうせってい、PAC: proxy auto-config)ファイルは、ウェブブラウザやその他のユーザーエージェントが、与えられたURLを取得するための適切なプロキシサーバ(アクセスメソッド)を自動選択する方法を定義する。 PACファイルにはJavaScriptの関数“FindProxyForURL(url, host)”が書かれている。この関数は一つあるいは複数のアクセスメソッド指定を含む文字列を返す。これらの指定によりユーザーエージェントは特定のプロキシサーバを使って接続するか、または直接に接続する。
アクセスメソッドを複数指定しておくことにより、一つのプロキシが反応しない場合のフォールバック(代替手段)を提供できる。ブラウザは他のURLにリクエストを送る前に、このPACファイルを取得する。PACファイルのURLは手動で設定しておくか、あるいはWeb Proxy Auto-Discovery Protocolにより自動的に決定される。
これらのMIMEタイプのどちらを使った方がよいという根拠はほとんどないが、application/x-ns-proxy-autoconfigがapplication/x-javascript-configよりも多くのクライアントでサポートされていると想定するのは妥当だろう。なぜなら前者は最初のNetscapeの仕様で定義されたものであり、後者はもっと最近になってから使われるようになったものだからだ。
PACファイルの非常に単純な例を示す:
この関数は、proxy.example.comサーバのポート番号8080上のプロキシを通じて全てのページを取得するようブラウザに指示する。このプロキシが応答に失敗した場合、ブラウザはプロキシを使わず目的のウェブサイトに直接接続する。後者の直接接続はファイアウォールあるいはその他の中間的なネットワーク装置が、プロキシ以外を発信元とする要求を拒否する設定になっている場合には失敗する(このような設定は法人組織内のネットワークでは一般的である)。
利用できるJavaScript関数をFindProxyForURL関数の中で幾つか使った、より複雑な例を示す: