PAC ファイル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/30 00:20 UTC 版)
「プロキシ自動設定」の記事における「PAC ファイル」の解説
プロキシ自動設定ファイル(PACファイル)は、1996年にNetscape Navigator 2.0 のためにNetscapeによって最初に設計され、それは最低限一つのJavaScript関数FindProxyForURL(url, host)を定義したテキストファイルであった。この関数の二つの引数の意味は:urlが目的のURLで、hostがそのURLから得られるホスト名である。慣例として、PACファイルの名前はproxy.pacとする。WPAD標準はwpad.datを使う。 PACファイルを使うには、まずPACファイルをHTTPサーバに公開しておき、クライアントのユーザーエージェントは、ブラウザのプロキシ接続設定にPACファイルのURLを入力しておくか、またはWPADプロトコルを通じてのいずれかにより、そのPACファイルを使うよう指示される。 多くのクライアントは、完全性のために、また互換性を高めるために、HTTPリプライで返されたMIMEタイプが何であれ、PACファイルのスクリプトを処理するが、HTTPサーバはPACファイルのMIMEタイプとしてapplication/x-ns-proxy-autoconfig または application/x-javascript-configのいずれかを宣言しておくべきである。 これらのMIMEタイプのどちらを使った方がよいという根拠はほとんどないが、application/x-ns-proxy-autoconfigがapplication/x-javascript-configよりも多くのクライアントでサポートされていると想定するのは妥当だろう。なぜなら前者は最初のNetscapeの仕様で定義されたものであり、後者はもっと最近になってから使われるようになったものだからだ。 PACファイルの非常に単純な例を示す: function FindProxyForURL(url, host){return "PROXY proxy.example.com:8080; DIRECT";} この関数は、proxy.example.comサーバのポート番号8080上のプロキシを通じて全てのページを取得するようブラウザに指示する。このプロキシが応答に失敗した場合、ブラウザはプロキシを使わず目的のウェブサイトに直接接続する。後者の直接接続はファイアウォールあるいはその他の中間的なネットワーク装置が、プロキシ以外を発信元とする要求を拒否する設定になっている場合には失敗する(このような設定は法人組織内のネットワークでは一般的である)。 利用できるJavaScript関数をFindProxyForURL関数の中で幾つか使った、より複雑な例を示す: function FindProxyForURL(url, host) {// example.com以下のドメインにある我々のローカルなURLに対してはプロキシ不要:if (shExpMatch(host, "*.example.com")){return "DIRECT";}// 下記のネットワーク内のURLには// fastproxy.example.comのポート8080を通じてアクセスする:if (isInNet(host, "10.0.0.0", "255.255.248.0")){return "PROXY fastproxy.example.com:8080";}// その他のリクエストはproxy.example.comのポート8080を通じて出る。// 応答がなければ、直接WWWに出る:return "PROXY proxy.example.com:8080; DIRECT";}
※この「PAC ファイル」の解説は、「プロキシ自動設定」の解説の一部です。
「PAC ファイル」を含む「プロキシ自動設定」の記事については、「プロキシ自動設定」の概要を参照ください。
- PACファイルのページへのリンク