削除された内容 追加された内容
現在の代表的な実装: リンクの修正
m編集の要約なし
 
(20人の利用者による、間の21版が非表示)
1行目:
{{出典の明記|date=2021年6月}}
'''Webサーバ'''(ウェブサーバ、英:{{En|Web server}})は、[[Hypertext Transfer Protocol|HTTP]]に則り、[[クライアント (コンピュータ)|クライアント]][[ソフトウェア]]の[[ウェブブラウザ]]に対して、[[HyperText Markup Language|HTML]]やオブジェクト([[画像]]など)の表示を提供するサービスプログラム及び、そのサービスが動作する[[サーバ]][[コンピュータ]]を指す。<!-- (狭義な意味で言えば、サーバソフトウェアを指す) -->
広義には、クライアントソフトウェアとHTTPによる通信を行うプログラム及びコンピュータ。
 
5 ⟶ 6行目:
クライアントである[[ウェブブラウザ]]の[[Uniform Resource Locator|URL]]にて指示された、Webサーバ内に存在するHTMLドキュメントの各種情報を、クライアントから接続されたHTTPに則った[[インターネット・プロトコル・スイート|TCP/IP]][[ソケット (BSD)|ソケット]]ストリーム(HTTPコネクションと呼ぶ)に送信する。多くの場合、クライアントのウェブブラウザとの間に複数の[[コネクション]]を張り、HTMLドキュメントとその配下の個々の情報ファイル(画像ファイル情報など)を並列して送り、処理時間を短縮してサービスを提供している。
 
また、HTMLドキュメントに各種処理を組み込み、[[Common Gateway Interface|CGI]][[スクリプト]]や[[Java Servlet]](サーバ側で実行される[[Java]]プログラム)と呼ばれるWeb画面に連動した動的処理を行う事が可能である。CGI処理においては[[Perl]]・[[Ruby_(代表的なトピック)|Ruby]]・[[PHP Hypertext Preprocessor(プログラミング言語)|PHP]]などの[[スクリプト言語]]によって開発されることが多い。
 
Java Servletにおいては、Javaによる動的処理の負荷を分散するため、Java Servletを処理する機能を別サーバに切り出し、Webアプリケーションサーバとして、垂直分散(スケールアウト)する事も一般化している。
16 ⟶ 17行目:
 
== 歴史 ==
[[File:Cobalt Qube 3 Front.jpg|thumb|[[サン・マイクロシステムズ]]のSOHO向けWebサーバ<br />Sun [[Cobalt Qube]] 3(2002年)]]
*[[1989年]]
**[[欧州原子核研究機構]] (CERN) に在籍していた[[ティム・バーナーズ=リー]]が「Information Management: A Proposal(情報管理:提案)」を執筆。彼が以前から持っていたWebシステムの素案を目に見える形で提案した。
21 ⟶ 23行目:
**World Wide Web をより具体化した提案書を発表。1990年[[11月13日]]から開発が開始。
*[[1990年]][[12月]]〜[[1991年]][[1月]]
**現Webサーバ群の基になるHTTPサーバ『[[CERN HTTPdhttpd]]』と各種ツールをクリスマス休暇中に作成し、最初のWebページ展開([[Berkeley Software Distribution|BSD]]系[[オペレーティングシステム|OS]]である[[NEXTSTEP]]/[[NeXT]]ワークステーションに実装)。
*1991年[[8月]]
**Webサーバとラインベースのウェブブラウザによるプロジェクト成果の要約を[[ニュースグループ]]に投稿。これがWWWとWebサーバのデビューとなった。
*[[1992年]]とそれ以降
**[[イリノイ大学]]の[[米国立スーパーコンピュータ応用研究所]](NCSA)の[[ロバート・マックール]]らが、CERN HTTPdhttpdに続く2番目の実装となる『[[NCSA HTTPd]]』を開発、また同じくNCSAの学生であった[[マーク・アンドリーセン]]らが、画像も表示できるウェブブラウザ[[NCSA Mosaic]]を開発し、一般に急速に広まった。
**この時点では、Webサーバの主役は『CERN HTTPdhttpd』や『NCSA HTTPd』であった。しかし、改修が進まないという不満が募り、NCSA HTTPdに修正を加えるためのパッチ (patch) を集積するプロジェクトが始まった。その際、プロジェクトに Apache Group という名前を付け、開始したため、そのNCSA HTTPdのメンテを主(当初)とした派生版である[[Apache HTTP Server]]の誕生につながり、主役を移すことになった。
 
2015年時点(2006年)においては、Apache及びその派生版である各ベンダのHTTP Serverが市場の74割、[[マイクロソフト]]の[[Internet Information Services|IIS]]が市場の3割、[[nginx]]が2割を占める<ref>[http://news.netcraft.com/archives/2015/11/16/november-2015-web-server-survey.html November 2015 Web Server Survey] netcraft</ref>。2024年時点では、nginxが40%、Apacheが25%、Microsoftが10%弱となっている<ref>[https://www.netcraft.com/blog/february-2024-web-server-survey/ February 2024 Web Server Survey] netcraft</ref>
 
元々、Webサーバは[[UNIX]]上で開発され発展してきた経緯もあり、当初から[[オープンシステム (コンピュータ)|オープン系]]サーバと言われるUNIXサーバや[[Microsoft Windows|Windows]]系サーバにより実装・提供されるのが普通である。ただし、システム構成上の都合により、[[Hypertext Transfer Protocol|HTTP]]や[[File Transfer Protocol|FTP]]、[[インターネット・プロトコル・スイート|TCP/IP]]が利用可能な[[メインフレーム|汎用コンピュータ]]にて動作させる場合もある。
35 ⟶ 37行目:
[[File:LAMP software bundle.svg|thumb|300px|The [[LAMP (ソフトウェアバンドル)|LAMP]] software bundle (here additionally with [[Squid (ソフトウェア)|Squid]]). A high performance and high-availability solution for a hostile environment]]
* [[Apache HTTP Server]]
* [[CERN HTTPd]]
* [[NCSA HTTPd]]
* [[Internet Information Services]]
* [[AN HTTPD]]
* [http://www.soft3304.net/04WebServer/ 04webserver]
* [[lighttpd]]
* [[Cherokee (web server)]]
* [http://www.hiawatha-webserver.org/ Hiawatha Webserver] [http[://en.wikipedia.org/wiki/:Hiawatha_webserver|(英語版)]]
* [[thttpd]]
* [[RaidenHTTPD]]
48 ⟶ 47行目:
* [[Zope]]
== 歴史上の実装 ==
 
* [[NCSACERN HTTPdhttpd]]
* [[CERNNCSA HTTPd]]
* [[AN HTTPD]]
* Tux Web Server
=== Tux Web Server ===
Tux Web Server([[:en:TUX web server|英語版]])はかつて存在した HTTP サーバの実装であり、[[Linuxカーネル]]へのパッチとして書かれていた。静的なコンテンツのみを提供することと、カーネル層で動作することから、一般的なウェブサーバより高速と言われていた<ref>
{{Cite Web
|title=オープンソースの高速Webサーバー「TUX」の実力
|url=https://xtech.nikkei.com/it/article/COLUMN/20051115/224580/
|date=2005-11-16
|accessdate=2024-3-9
}}</ref>。開発者は Red Hat のカーネルハッカー Ingo Molnár で、当初のバージョンは [[Red Hat Linux]] 6.2 および 7.0 向けにリリースされた<ref>
{{Cite Web
|title=Red Hat TUX Web Server
|url=https://web.archive.org/web/20010129133400/http://www.redhat.com/products/software/ecommerce/tux/
|accessdate=2024-3-9
}}</ref>。カーネル内で動作し、ストレージとネットワークの双方に対して{{仮リンク|ゼロコピー|en|zero-copy}}の入出力を行うことができた<ref>
{{Cite Web
|title=TUX 2.0 Reference Manual
|url=https://www.stllinux.org/meeting_notes/2001/0719/tux/index.html
|accessdate=2024-3-9
}}</ref><ref>
{{Cite Web
|title=ASCII.jp: Red Hat、Linuxカーネル内で動作する高速Webサーバをリリース
|url=https://ascii.jp/elem/000/000/301/301134/
|date=2000-9-4
|accessdate=2024-3-9
}}</ref>。2009年頃にはその役目を終え、もはや保守されなくなっていた<ref>
{{Cite Web
|title=TUX installation
|url=https://listman.redhat.com/archives/tux-list/2009-September/msg00001.html
|date=2009-9-18
|accessdate=2024-3-9
}}</ref>。別名 Content Accelerator とも呼ばれていた<ref>
{{Cite Web
|title=Red Hat Content Accelerator 2.2: Reference Manual
|url=https://cs.uwaterloo.ca/~brecht/servers/readings-new/rh-content-accelerator-2.2.pdf
|accessdate=2024-3-9
}}</ref>。
== 個別の製品の特徴 ==
* Oracle HTTP Server([[:en:Oracle HTTP Server|英語版]])
** [[関係データベース管理システム|RDBMS]]ベンダである[[オラクル (企業)|オラクル]]が提供するWebサーバ (Oracle HTTP Server) においては、[[JavaJakarta Platform, Enterprise EditionEE|Java EE]]を使用した[[アプリケーションサーバ|Webアプリケーションサーバ]]と連携して、HTMLドキュメント内にデータベースに検索を行わせるための[[SQL]]文を直接記述し、データベースからデータをHTMLベースで呼び出して加工する事が可能となっている。
 
==脚注==
{{脚注ヘルプ}}
=== 出典 ===
{{Reflist}}
 
== 関連項目 ==
* [[インターネット]]
* [[ウェブページ]]
* [[ホームページ]]
* [[ウェブブラウザ]]
* [[アプリケーションサーバ]]
* [[コンテンツマネージメント管理システム]] (CMS)
* [[ホスティングサーバ]]
* [[FTPサーバ]]
67 ⟶ 112行目:
* [[サーバログ]]
 
{{Normdaten}}
{{DEFAULTSORT:うえふさは}}
[[Category:Webサーバ|*]]
[[Category:サーバ]]