Webサーバ

Webサーバの詳細



Webサーバは、HTTPプロトコルに基づき、クライアントであるウェブブラウザに対してHTMLファイルや画像などの資源を提供する重要な役割を担っているプログラムです。広義には、HTTPを使用して通信を行うあらゆるソフトウェアとその実行環境であるサーバコンピュータを含むとされます。

Webサーバの実装



クライアントから送られたリクエストに基づき、Webサーバは設定されたURLにアクセスし、対応するHTMLドキュメントや他のリソースを取得します。これらの情報はHTTPプロトコルに則ってTCP/IP経由でクライアントに送信されます。特に、ウェブブラウザは通常、同時に複数のコネクションを利用して、HTML文書とその構成要素(画像ファイルやスタイルシートなど)を同時に取得し、効率的な表示を実現します。

また、WebサーバはCGIスクリプトやJava Servletを用いることで、動的なコンテンツ処理も行うことができます。CGIでは、主にPerlやRuby、PHPといったスクリプト言語が使用され、Java ServletではJavaを用いたプログラムが実行されます。負荷分散の観点からは、Java Servletを別のサーバに分けて処理することも一般的に行われます。

大規模なWebサービスを展開する場合、同じ機能を持つWebサーバを複数台配置し、ロードバランサと呼ばれる仕組みを利用して負荷を均等に配分するのが一般的です。これにより、サーバの障害時にも高い可用性と信頼性を確保することが可能となり、疎結合クラスターとも称されるシステムが形成されます。また、多数のクライアントとの接続をスムーズに行うため、WebサーバはDNSサーバとの設定連携が常に求められます。

Webサーバの歴史



Webサーバの原型は1989年ティム・バーナーズ=リーによって提案され、1990年に「CERN httpd」という最初のHTTPサーバが開発されました。さらに1992年にはNCSA HTTPdが登場し、このサーバに基づいたApache HTTP Serverが後の主流となります。

2015年にはApacheとその派生版が市場の約40%を占め、MicrosoftのIISが30%強、nginxが20%未満であったのに対し、2024年にはnginxが40%を占め、Apacheが25%、Microsoftが10%弱とされるなど、競争が見られます。やや歴史的な背景を持つ多数のWebサーバソフトウェアは、当初はUnix環境で開発され、多様なサーバモデルとしてディストリビューションされています。

現在の主なWebサーバ実装



以下は現在の代表的なWebサーバのリストです。
  • - Apache HTTP Server
  • - Internet Information Services (IIS)
  • - nginx
  • - lighttpd
  • - Cherokee
  • - Hiawatha
  • - RaidenHTTPD
  • - Oracle HTTP Server

歴史に名を刻んだ実装


かつてのWebサーバ実装には、CERN httpdやNCSA HTTPdが存在し、特にNCSA HTTPdはその後のApacheの開発へとつながっています。これらはWebサーバ誕生の重要な一歩として位置付けられます。

個別製品の特徴



例えば、Oracle HTTP ServerはRDBMSベンダであるオラクルが提供しており、Java EEを利用したWebアプリケーションと密接に連携し、SQLを使用して直接HTML内にデータベース検索機能を埋め込むことができます。このように、Webサーバは単なるコンテンツの配信だけでなく、複雑なデータ操作を行う能力も備えています。

Webサーバは、インターネットの心臓部とも言える存在であり、現代の情報化社会において欠かせないインフラとして進化し続けています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。