最終更新:2009-11-11 (水) 10:23:59 (2814d)  

Webサーバ はてなブックマークを見る
Top / Webサーバ

わりとメジャー

超小型の Web サーバ

  • Cheetah Server? は 1000 行以下の C で作成されています。
  • DustMote? は約 3000 バイトの 1 つの Tcl ソース・ファイルで実装された、非常に小型の Web サーバーです。
  • fnord? はプラットフォームと構成次第で 20K 以下に収まります。この小さなサイズにもかかわらず、仮想ホスティング?CGI、キープアライブをサポートしています。
  • ihttpd? は、(inetd) による CGI を含め、ページをサービスするために 800 行以下の C しか必要としません。
  • im-httpd? は非常に小型で約 7 キロバイトしかなく、glibc に対してリンクされています。非常に高速でもあります。
  • mattows? はたった 600 行の CCGI をサポートします。
  • Scrinchy? はサイズが小さく 30KB 以下ですが、Sy? という特殊用途のスタック・ベースの言語をはじめとする、興味深いスクリプト言語をサポートしています。
  • ZWS? は 500 行を少し上回る程度の、適切なコメントの付いた zsh で作成されたアプリケーション (この場合は HTTP 0.9+ サーバー) ですが、このようなアプリケーションでもいかに優れたものになりうるかを示しています。

小さいからと言って、これらのサーバーが本格的な用途に使えないというわけではありません。例えば fnord は、何千もの同時接続を処理することができます。

軽量ハイパフォーマンス・サーバ

  • cghttpd? は最小限の Web サーバーとして、2.6 シリーズの Linux カーネルにある非同期機能を使った実験として理解することができます。
  • darkhttpd? は高速でシングル・スレッドの HTTP/1.1 サーバーです。
  • Gatling? はハイパフォーマンス用に設計されており、機能としては FTPIPv6仮想ホスティング?CGI などがあります。
  • Kernux? は HTTP デーモンを実装した Linux カーネルモジュールです。
  • lighttpd は、最も使われている Web サーバーの上から 5 番目の地位を占めています (しかも、さらに広く使われるようになっています)。同時接続を多数行えるように最適化されており、「典型的なシナリオでは、静的コンテンツを任せるために lighttpd をオフロード・サーバーとして使います・・・」
  • LiteSpeed Web Server はパフォーマンスとセキュリティーを強調した商用の軽量 Web サーバーです。LiteSpeed? Technologies Inc. によれば、静的コンテンツを 6 倍高速化できますが、解釈されるページについてはもう少し数字が小さくなります。
  • Miniature JWS? (tjws としても知られています) は Java コードで作成された Web サーバーであり、サーブレット?JSP、そして何千もの同時接続を 77 キロバイトで処理します。このサーバーの作成者は、「Apache 2.x よりも 10% 高速」と宣伝しています。
  • Yaws?Erlang で作成されたハイパフォーマンスの HTTP/1.1 サーバーです。

クラスあるいはライブラリ

  • EHS? は「組み込み HTTP サーバー」、つまり大規模な C++ アプリケーションに組みこまれることを想定した C++ クラスです。
  • Embedded TCL Web Server? は、SSL基本認証? (Basic Authentication) をサポートする単純な Web サーバーであり、驚くほど高速です。この作成者の測定によれば、少なくとも lighthttpd?AOLserver? と同じ程度に高速です。このサーバーは 100 行以下の Tcl で作成されています。

Python

  • cdServer? は、Python でコーディングされた小さくて単純な HTTP であり「CD-ROM から (静的な) コンテンツを提供するために設計されています」。動的コンテンツを提供する機能は限定されています。私達の抱えるいくつかのプロジェクトでは、破損不可能な「ライブ CD」を提供する必要があり、cdServer のようなツールは必須です。
  • edna? は、HTTP で実装され Python でコーディングされた賢い MP3 サーバーです。

Perl や、あまり知られていない言語で実装された軽量 Web サーバ

  • Camlserv? は、OCaml で作成された完全な Web サーバーであり、「対話性の高い Web ページ」をターゲットにしています。このサーバーは数千行の OCaml に収まっており、その大部分は MySQLHTML の特別な処理を行っています。
  • dhttpd? は、Apache と同じフォーマットでアクセスをログに記録します。組み込みの Perl インタープリターを持つ CGI仮想ホスティング?IPv6帯域幅管理?、そしてセキュリティ機能をサポートしています。
  • DNHTTPD?UNIX 用の Perl で作成されており、仮想ホスティング?SSL 接続、CGI その他をサポートしています。
  • Jellybean?HTTP をベースにした、Perl でコーディングされた Perl Object Server? です。
  • lns.http?Common Lisp HTTP/1.1 Web フレームワークです。
  • MongrelRuby で作成された、HTTP 用のライブラリーとサーバーです。
  • Nanoweb?PHP で作成された高速で堅牢な Web サーバーです。豊富な機能を誇り、その中には完全な HTTP/1.1 準拠やアクセス・コントロール、認証、仮想ホスティング?SSL 準拠、その他があります。
  • Naridesh?Perl でコーディングされた Web サーバーです。
  • OpenAngel?Perl でコーディングされており、セキュリティーに焦点を絞っています。
  • Xavante?Lua でコーディングされた HTTP/1.1 Web サーバーです。
  • XSP?C♯ で作成されており、ASP.NET をホストします。

独特の強みを持つ、C でコーディングされたいくつかの軽量 Web サーバー

  • ABYSSUNIXWin32 の間で移植性があり、「HTTP/1.1 に完全準拠の Web サーバーを目標としています」。このサーバーは非常にわずかのメモリーしか使用しません。
  • Anti-Web HTTPD? (あるいは「Anti-Web」、「awhttpd」、「AW」とも言われます) は、セキュリティーと単純さを強調する、シングル・プロセスで非スレッド型、CGI 対応のサーバーです。
  • MHTTPD? は、外部ファイルあるいは LDAP サーバーから MHTTPD 基本認証をサポートします。
  • mini-httpd? は、1 つのシステム・スレッドで複数の並行スレッドを処理しますが、メモリーや CPU の面では、ホストからほとんど何も要求しません。
  • Naken Web? は他の多くの軽量サーバーと同じく基本認証や静的コンテンツなどをサポートしますが、この作成者は Webcam オペレーションをターゲットにしており、これを Gumstix?WRT54GL?OpenWrt などの革新的なプラットフォームで活用しています。
  • Null httpd? は、マルチスレッドでありながら単純で移植性の高い Web サーバーです。
  • Seminole? は、非常にメモリー要求が小さく、多くの機能を持つ商用 Web サーバーです。
  • thttpd? は機能を限定し、chroot基本認証?などを行います。

参考