ウェブサーバ
[Wikipedia|▼Menu]

Webサーバ(ウェブサーバ、英:Web server)は、HTTPに則り、クライアントソフトウェアウェブブラウザに対して、HTMLやオブジェクト(画像など)の表示を提供するサービスプログラム及び、そのサービスが動作するサーバコンピュータを指す。広義には、クライアントソフトウェアとHTTPによる通信を行うプログラム及びコンピュータ。
目次

1 実装

2 歴史

3 現在の代表的な実装

4 個別の製品の特徴

5 脚注

6 関連項目

実装

クライアントであるウェブブラウザURLにて指示された、Webサーバ内に存在するHTMLドキュメントの各種情報を、クライアントから接続されたHTTPに則ったTCP/IPソケットストリーム(HTTPコネクションと呼ぶ)に送信する。多くの場合、クライアントのウェブブラウザとの間に複数のコネクションを張り、HTMLドキュメントとその配下の個々の情報ファイル(画像ファイル情報など)を並列して送り、処理時間を短縮してサービスを提供している。

また、HTMLドキュメントに各種処理を組み込み、CGIスクリプトJava Servlet(サーバ側で実行されるJavaプログラム)と呼ばれるWeb画面に連動した動的処理を行う事が可能である。CGI処理においてはPerlRubyPHPなどのスクリプト言語によって開発されることが多い。

Java Servletにおいては、Javaによる動的処理の負荷を分散するため、Java Servletを処理する機能を別サーバに切り出し、Webアプリケーションサーバとして、垂直分散(スケールアウト)する事も一般化している。

大規模なWebサービスを提供する場合、同じサービスを提供するWebサーバを並列して設置し、ロードバランサと呼ばれる各種ロジック(ラウンドロビン方式や処理中の負荷を計測して割り当てるサーバを決定するものや、サーバの性能を考慮して重み付けをする方式などが存在する)によりWebサーバへの処理を振り分ける装置を、Webサーバ群の前に置く事が多い。

これにより、Webサービスを提供する際のサーバ故障に対する可用性・信頼性を確保する(疎結合クラスターの一種と定義される)。

また、不特定多数のウェブブラウザ(クライアント)との接続を行うため、一般的にWebサーバ及びWebアプリケーションサーバにはDNSサーバとの連動設定を組み込む。
歴史

1989年

欧州原子核研究機構 (CERN) に在籍していたティム・バーナーズ=リーが「Information Management: A Proposal(情報管理:提案)」を執筆。彼が以前から持っていたWebシステムの素案を目に見える形で提案した。


1990年11月

World Wide Web をより具体化した提案書を発表。1990年11月13日から開発が開始。


1990年12月?1991年1月

現Webサーバ群の基になるHTTPサーバ『CERN HTTPd』と各種ツールをクリスマス休暇中に作成し、最初のWebページ展開(BSDOSであるNEXTSTEPNeXTワークステーションに実装)。


1991年8月

Webサーバとラインベースのウェブブラウザによるプロジェクト成果の要約をニュースグループに投稿。これがWWWとWebサーバのデビューとなった。


1992年とそれ以降

イリノイ大学米国立スーパーコンピュータ応用研究所(NCSA)のロバート・マックールらが、CERN HTTPdに続く2番目の実装となる『NCSA HTTPd』を開発、また同じくNCSAの学生であったマーク・アンドリーセンらが、画像も表示できるウェブブラウザNCSA Mosaicを開発し、一般に急速に広まった。

この時点では、Webサーバの主役は『CERN HTTPd』や『NCSA HTTPd』であった。しかし、改修が進まないという不満が募り、NCSA HTTPdに修正を加えるためのパッチ (patch) を集積するプロジェクトが始まった。その際、プロジェクトに Apache Group という名前を付け、開始したため、そのNCSA HTTPdのメンテを主(当初)とした派生版であるApache HTTP Serverの誕生につながり、主役を移すことになった。

2015年時点においては、Apache及びその派生版である各ベンダのHTTP Serverが市場の4割、マイクロソフトIISが市場の3割、nginxが2割弱を占める[1]

元々、WebサーバはUNIX上で開発され発展してきた経緯もあり、当初からオープン系サーバと言われるUNIXサーバやWindows系サーバにより実装・提供されるのが普通である。ただし、システム構成上の都合により、HTTPFTPTCP/IPが利用可能な汎用コンピュータにて動作させる場合もある。
現在の代表的な実装 The LAMP software bundle (here additionally with Squid). A high performance and high-availability solution for a hostile environment

Apache HTTP Server

CERN HTTPd

NCSA HTTPd

Internet Information Services

AN HTTPD

04webserver

lighttpd

Cherokee (web server)

Hiawatha Webserver (英語版)

thttpd

RaidenHTTPD

nginx

Zope


個別の製品の特徴

Oracle HTTP Server

RDBMSベンダであるオラクルが提供するWebサーバ (Oracle HTTP Server) においては、Java EEを使用したWebアプリケーションサーバと連携して、HTMLドキュメント内にデータベースに検索を行わせるためのSQL文を直接記述し、データベースからデータをHTMLベースで呼び出して加工する事が可能となっている。


脚注^November 2015 Web Server Survey netcraft

関連項目

インターネット

ウェブブラウザ

アプリケーションサーバ

コンテンツ管理システム (CMS)

ホスティングサーバ

FTPサーバ

ドメインネームサーバ

サーバ

バーチャルホスト

Server Side Includes (SSI)

帯域幅調整 - トラフィックシェーピング

サーバログ

この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めていますPJ:コンピュータ/P:コンピュータ)。


更新日時:2017年10月17日(火)13:36
取得日時:2018/08/20 04:26


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:13 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:FIRTREE