Squid (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

テンプレート:Infobox Squid(スクウィッド)はプロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェアGPLでライセンスされている。 Squidの用途は、重複リクエストに対したキャッシュ応答によるウェブサーバの高速化や、ネットワーク資源を共有する人々が行うWorld Wide WebDNSなどの様々なネットワーククエリのキャッシュなど、多岐にわたる。元来はUnix系のコンピュータで動作させる目的で設計されている。

Squidは長く開発が続けられてきた[1]。多様なプロトコルをサポートしているが、主にHTTPFTPで利用される。 TLS/SSLHTTPSなどのセキュリティで保護された通信のサポートも行われている[2]

当初はC言語で書かれていたが、バージョン3以降では多くのソースがC++で書かれたものに置き換えられている。

ウェブプロキシ

キャッシングは、リクエストされたWebページやWebページ上の画像などインターネット上の様々な情報をクライアント側から見てネットワーク上の近傍にあるコンピュータに貯蔵しておく技術である。ウェブブラウザはSquidをHTTPのプロキシサーバとして利用し、ネットワーク帯域を節約するとともに、目的のページに高速にアクセスすることができる。 これはインターネットサービスプロバイダが加入利用者のインターネットアクセスを高速化するのに、あるいはLAN内でインターネット接続を共有するのに有効な手法である。プロキシ(実質的なクライアントの代理としてクライアントとして目的の情報にアクセスする)でもあることから、匿名性や安全性も提供するはたらきを持っている。

プロキシサーバの利用は、ブラウザ等のクライアントのソフトウェアで利用したいプロキシサーバの指定を明示的に行う方法か、もしくは透過プロキシと呼ばれる特に設定を必要としない方法によって行われる。明示的な設定を行う方法はインターネットサービスプロバイダの利用者等に、透過プロキシは企業内のLANの設定等でしばしば用いられる。

Squidは、クライアントが生成するヘッダを書き換えるなどの方法によって、匿名による接続の機能も提供する。詳細は、Squidのドキュメンテーションのheader_accessおよびheader_replaceの項に記載されている。

リバースプロキシ(Reverse Proxy)

前項で述べたような、特定少数のクライアントのために不特定多数のサーバのキャッシュを提供する形態のプロキシが、伝統的な利用法である。

もう一方の利用法は、リバースプロキシ[3]あるいはウェブサーバアクセラレーションと呼ばれる(httpd_accel_hostの設定を用いる)。 この利用法では、不特定多数のクライアントに対して特定少数のサーバのキャッシュを提供する。

実際にコンテンツを持っているウェブサーバをslow.example.com、Squidによるリバースプロキシをwww.example.comとする。 www.example.com上のあるコンテンツに対するリクエストが最初に行われた際に、実際のコンテンツはslow.example.comから取り出されるが、一定期間中(期間は設定により異なる)、2回目以降のアクセスにはこの際に取り出されたコピーがリバースプロキシから送出されるようになる。 結果としてslow.example.comへのアクセス数を低く抑えることができ、slow.example.comの負荷やネットワークの帯域を節約できる。

一つのSquidサーバを通常のプロキシとリバースプロキシ両方の機能で稼働させることも可能である。

移植性

ファイル:LAMP software bundle.svg
The Linux-based software bundle LAMP here additionally with Squid as web cache

Squidは以下のオペレーティングシステム上で動作可能である。

ウィキペディアのupload.wikimedia.orgでも使用されていた[4]

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist

外部リンク

Information

アドオン

キャッシュ動作の確認が可能なWebページ

  • 1990年代前期に開発されたHarvest Cache Daemonに基づいている、とする記述が見える。テンプレート:Cite web
  • SquidのFAQページより(英語)
  • テンプレート:Cite web
  • テンプレート:Cite webテンプレート:Cite web