Webサーバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Webサーバは、インターネットサービスサーバの一種で、Hypertext Transfer Protocol(HTTP)に則り、クライアントソフトウェアのWorld Wide Webブラウザに対して、htmlによって書かれたドキュメント情報を提供するサービスプログラム及び、そのサービスが動作するサーバコンピュータを指す。(狭義な意味で言えば、サーバソフトウェアを指す)
目次 |
[編集] 実装
クライアントであるWebブラウザのURLにて指示された、Webサーバ内に存在するHTMLドキュメントの各種情報を、クライアントから接続されたHTTPに則ったTCP/IPソケットストリーム(HTTPコネクションと呼ぶ)に送信する。多くの場合、クライアントのWebブラウザとの間に複数のコネクションを張り、HTMLドキュメントとその配下の個々の情報ファイル(画像ファイル情報など)を並列して送り、処理時間を短縮してサービスを提供している。
また、HTMLドキュメントに各種処理を組み込み、CGIスクリプトやJavaサーブレット(サーバ側で実行されるJavaスクリプト)と呼ばれるWeb画面に連動したスクリプト処理を行う事が可能である。CGI処理においてはPerl・Ruby・PHPなどのスクリプト言語が開発されている。 この他にもHTMLドキュメントに組み込まれるCGI機能も年々進化しており、RDBMSベンダであるOracle社が提供するWebサーバ(Oracle HTTP Server)においては、J2EEを使用したWebアプリケーションサーバと連携して、HTMLドキュメント内にデータベースに検索を行わせるためのSQL文を直接記述し、データベースからデータをHTMLベースで呼び出して加工する事が可能となっている。
Javaサーブレットのスクリプトにおいては、Javaによるスクリプト処理の負荷を分散するため、Javaサーブレットを処理する機能を別サーバに切り出し、Webアプリケーションサーバとして、垂直分散(スケールアウト)する事も一般化している。
大規模なWebサービスを提供する場合、同じサービスを提供するWebサーバを並列して設置し、ロードバランサと呼ばれる各種ロジック(ラウンドロビン方式や処理中の負荷を計測して割り当てるサーバを決定するものや、サーバの性能を考慮して重み付けをする方式などが存在する)によりWebサーバへの処理を振り分ける装置を、Webサーバ群の前に置く事が多い。
これにより、Webサービスを提供する際のサーバ故障に対する可用性・信頼性を確保する。(疎結合クラスターの一種と定義される)
また、不特定多数のWebブラウザ(クライアント)との接続を行うため、一般的にWebサーバ及びWebアプリケーションサーバにはDNSサーバとの連動設定を組み込む。
[編集] 歴史
- 1989年
- 欧州原子核研究機構に在籍していたティム・バーナーズ=リーが「Information Management: A Proposal(情報管理:提案)」を執筆。彼が以前から持っていたWebシステムの素案を目に見える形で提案した。
- 1990年11月
- World Wide Web をより具体化した提案書を発表。1990年11月13日から開発が開始。
- 1990年12月~1991年1月
- 現Webサーバ群の基になるHTTPサーバと各種ツールをクリスマス休暇中に作成し、最初のWebページ展開。(BSD系OSであるNeXTワークステーションに実装)
- 1991年8月
- WebサーバとラインベースのWebブラウザによるプロジェクト成果の要約をニュースグループに投稿。
- これがWWWとWebサーバのデビューとなった。
- 1992年とそれ以降
- イリノイ大学の米国立スーパーコンピュータ応用研究所 (National Center for Supercomputing Applications・NCSA)の学生であったマーク・アンドリーセンらが、画像も表示できるWebブラウザMosaicを開発し、一般に急速に広まった。
- この時点では、Webサーバの主役は『CERN HTTP Server』や『NCSA Http Server』であった。しかし、改修が進まないという不満が募り、NCSA HTTP Serverに修正を加えるためのパッチ(patch)を集積するプロジェクトが始まった。その際、プロジェクトに「継ぎ接ぎだらけのサーバ」(a patchy sever)という名前を付け、開始したため、そのNCSA HTTP Serverのメンテを主(当初)とした派生版であるApache HTTP Serverの誕生につながり、主役を移すことになった。
現時点(2006年)においては、Apache及びその派生版である各ベンダのHTTP Serverが市場の7割、マイクロソフト社のIISが市場の2割を占める。
元々、WebサーバはUNIX上で開発され発展してきた経緯もあり、当初からオープン系サーバと言われるUNIXサーバやWindows系サーバにより実装・提供されるのが普通である。ただし、システム構成上の都合により、HTTPやFTP、TCP/IPが利用可能な汎用コンピュータにて動作させる場合もある。
[編集] 現在の代表的な実装
- Apacheの派生製品(ベンダ独自での改修版)
他
[編集] 関連項目
- インターネット
- Webブラウザ
- Webアプリケーションサーバ
- コンテンツマネージメントシステム(CMS)
- ホスティングサーバ
- FTPサーバ
- ドメインネームサーバ
- サーバ
- バーチャルホスト
- Server Side Includes(SSI)
カテゴリ: Webサーバ | サーバ | World Wide Web | アプリケーションソフト | コンピュータ関連のスタブ項目