プロキシ
別名:プロキシー,プロクシ,プロクシー,串
【英】proxy
プロキシとは、あるモジュールと本来の要求先との間に設けられ、本来の要求先の代理として機能するシステムのことである。プロキシ(proxy)とは、元々は「代理」という意味の英語である。
プロキシは、主にシステムの処理効率向上や、レスポンス向上、トラフィック減少、フィルタリング、アクセス制御などを目的として設置される。単にプロキシと言った場合には、ネットワーク分野におけるプロキシサーバーを指す場合がほとんどである。
また、システム設計の分野においては、デザインパターンの一つであるプロキシパターンを指す。機器構成やアーキテクチャ設計の分野では、配置の方法であるプロキシ構成を指す。
一般的に、多数のユーザーから本来の要求先に対して集中的に接続されると、トラフィックは増加し、要求先のサーバーでの処理量が増え、レスポンスは低下する。これに対して、プロキシは、ユーザー側により近い位置に設置され、本来の要求先の代わりとして要求に応答し、さらに様々な機能を付加的に提供する。プロキシは、付加的に提供される機能の例としては、キャッシュを用いたレスポンスの向上、接続の監視や制御、不適切な情報のフィルタリングや遮断、プロトコルの変換などを挙げることができる。
プロキシの典型的な用途としては、Web上で用いられるキャッシュサーバーを挙げることができる。回線速度の速いローカルのキャッシュサーバーに画像データなどをキャッシュしておけば、あまり更新されることのないホームページなどは高速に表示させることができる。プロキシを用いて、特定のURLへのアクセスを遮断したり、データ中の問題のある語を検出したりすることも可能になる。また、HTTPと他のプロトコルを変換することなども可能となる。
プロキシは、HTTPやHTTPSなどのWeb向けのプロトコルの他にも、SMTPやPOPといった電子メール向けのプロトコル上でも用いられる。この場合、メールの誤送信の防止や、スパムメールの拒否、ウィルスチェックなどが主な用途となる。
また、プロキシをサーバー側に設置し、クライアントからの要求に対し、本来のサーバーからではなく、このサーバー側に置いたプロキシからレスポンスを返すような使い方をする場合がある。このようなプロキシの用い方は特にリバースプロキシと呼ばれる。リバースプロキシと特に対比する形で、通常のクライアント側に設置するプロキシを、フォワードプロキシと呼ぶこともある。
なお、プロキシによく用いられるサーバーソフトウェアの代表的な製品としてはsquid(スクイド)などを挙げることができる。
デザインパターンの一種であるプロキシパターンは、本来の機能を提供するクラスと要求元との間にプロキシを立て、プロキシを通じて要求を実現するという処理パターンのことである。例えば、処理上必要となるインスタンスを得るために、プロキシに対してインスタンスを要求して得る、というように用いられる。
|