Squidは長く開発が続けられてきた。多様なプロトコルをサポートしているが、主にHTTPとFTPで利用される。 TLS/SSL、HTTPSなどのセキュリティで保護された通信のサポートも行われている。
当初はC言語で書かれていたが、バージョン3以降では多くのソースがC++で書かれたものに置き換えられている。
ウェブプロキシ
キャッシングはリクエストされたWebページやWebページ上の画像などインターネット上の様々な情報をクライアント側から見てネットワーク上の近傍なコンピュータに貯蔵しておく技術である。ウェブブラウザはSquidをHTTPのプロキシサーバとして利用し、ネットワーク帯域を節約するとともに、目的のページに高速にアクセスすることができる。 これはインターネットサービスプロバイダが加入利用者のインターネットアクセスを高速化するのに、あるいはLAN内でインターネット接続を共有するのに有効な手法である。プロキシ(実質的なクライアントの代理としてクライアントとして目的の情報にアクセスする)でもあることから、匿名性や安全性も提供するはたらきを持っている。
プロキシサーバの利用はブラウザ等のクライアントのソフトウェアで利用したいプロキシサーバの指定を明示的に行う方法か、もしくは透過プロキシと呼ばれる特に設定を必要としない方法によって行われる。明示的な設定を行う方法はインターネットサービスプロバイダの利用者等に、透過プロキシは企業内のLANの設定等でしばしば用いられる。
リバースプロキシ(Reverse Proxy)
上記で述べたような特定少数のクライアントのために不特定多数のサーバのキャッシュを提供する形態のプロキシが伝統的な利用法である。
もう一方の利用法はリバースプロキシあるいはウェブサーバアクセラレーションと呼ばれる(httpd_accel_hostの設定を用いる)。 この利用法では不特定多数のクライアントに対して特定少数のサーバのキャッシュを提供する。
実際にコンテンツを持っているウェブサーバをslow.example.com、Squidによるリバースプロキシをwww.example.comとする。 www.example.com上のあるコンテンツに対するリクエストが最初に行われた際に実際のコンテンツはslow.example.comから取り出されるが、一定期間中(期間は設定により異なる)、2回目以降のアクセスにはこの際に取り出されたコピーがリバースプロキシから送出されるようになる。 結果としてslowへのアクセス数を低く抑えることができ、slowの負荷やネットワークの帯域を節約できる。
一つのSquidサーバを通常のプロキシとリバースプロキシ両方の機能で稼働させることも可能である。
0 件のコメント:
コメントを投稿