プロキシ
プロキシを使用する目的としては、次のようなものがある。
同一プロバイダの管轄内のような独立のネットワークの内部から、外部のウェブサーバにアクセスしデータを受け取る場合、一度目のアクセスでウェブサーバの返してきたデータをネットワークの出入り口に設置したプロキシに一時的に保存しておき(このプロキシ内のデータはキャッシュと呼ばれる)、次回からのアクセスはウェブサーバではなく、このプロキシサーバからキャッシュされたデータを受け取るようにすれば、データの取得を高速化できる。
しかし、ウェブサーバのデータが更新されてもプロキシサーバ内のデータが更新されていない場合もあるので、注意を要する。また、初めてアクセスするページに対しては、キャッシュが存在しないために、直接アクセスするよりも必然的に遅くなる。このため、インターネットが普及し始めた1990年代には、現在と比べて低速だった個別回線(ダイヤルアップ接続28.8から33.6 kbps程度。)や、結節点のインターネットエクスチェンジ(IX)へのバックボーン回線の容量(数百kbpsから、多くても数Mbps程度)を補う目的で、多くのプロバイダで契約者用プロキシサーバが用意されたが、その後のIXやバックボーン回線の増強、2000年頃からの、ウェブページ(ウェブサイト)数の爆発的な増加や、いわゆるブロードバンドインターネット接続の普及などによって、プロキシは長所よりも短所の方が目立つようになり、単なるウェブサイトへのアクセスの高速化を目的としたプロキシサーバは廃止したプロバイダが多い。ただし、後述のリバースプロキシの場合、負荷の大きいサーバに対してはむしろ増えている。
キャッシュ機能としてのプロキシサーバ用ソフトとしては、DeleGateやSquidなどが有名である。
外部ネットワーク(主にインターネット)からのアクセスは、全てプロキシを経由して各使用者のパソコンなどのクライアントに届くようにする。プロキシが通信内容をチェックすることで、クライアントが外部ネットワークに直接晒されなくなり、不正アクセスや侵入行為が困難になる。 プロキシサーバにアンチウイルスソフトウェアをインストールすることで、通信内容にウイルスが含まれていないかチェックすることもできる。 ウイルスが内部に侵入して通信量が平時より増大していないか、使用しないサービスのポートを使用していないか、ログを定期的に監視することで安全性を高めることもできる。
TLS/SSLによる通信も、プロキシサーバを介して行う際は、暗号化した内容を一度復号して内容をチェックすることもできる。チェックしない場合はプロキシサーバをトンネリングする。
外部ネットワークからの接続要求を中継して内部に接続するものをリバースプロキシと呼び、主に負荷分散等の目的で用いられる。
1台の本サーバに対して複数のリバースプロキシ(ミラーサーバ)と、それに「1つのホスト名に複数のIPアドレスを割り振る」との役割を持つDNSラウンドロビンによって成り立つ形式が多い。その場合は、リバースプロキシを備えたホストに、クライアントからリクエスト(アクセス)が有るとDNSラウンドロビンにより、ランダムで各リバースプロキシの一つに辿り着き、リバースプロキシ自身に格納されたキャッシュ情報をクライアントへと返信する。リバースプロキシは、一定時間ごとに本サーバを参照して、キャッシュを更新する。
すなわち、大量のアクセスが本サーバの代わりに複数あるリバースプロキシのどれかに届くことで処理が分散され、1台のサーバだとダウンするような大量のアクセスにも耐えられる。
しかし、そのDNSラウンドロビンによる方法にも欠点が幾つかあり(「機体の物理的な性能上限により、Soft面での限界も有る」など)、それを補うためにクラスター方式(PCを連結する方式)を採用する観点も有る。