制作者(webmaster)
野嵜健秀(Takehide Nozaki)
公開
2001-11-19
最終改訂
2004-07-25

World Wide Webの歴史(メモ)

誕生

1989年3月、CERNでコンサルタントをしてゐたバーナーズ・リー卿は、研究者間での「知識ベースの共用」を支援する爲のシステムを開發するやう求められた。そこで彼が提案したのが、ハイパーテキストによる情報の相互參照と云ふ、WWWの基礎となる概念であつた。

文書形式(HTML)、文書轉送のプロトコル(HTTP)、文書の在處の指示方法(URI)の三つの概念がベースとなつて、WWWは成立してゐる。

しかし、これらの仕樣が固まり、情報がリンクされ始めても、情報が實際に使用されるには問題があつた。最初の「とつかかり」となる情報を見つけるのが大變だつたからである。そこで「情報のとつかかり」としての「ホームページ」と云ふ概念が生ずる譯だが、「ホームページ」の存在が餘りにも當り前となつた爲、「情報」全てが「ホームページ」だと云ふ認識が現在は廣まつてしまつてゐるやうである。

當時のハイパーテキストを實現する爲のクライアントプログラムの名を「World Wide Web」と言ふ。「World Wide Web」はNeXT用のプログラムであつた。このクライアント名が、現在は一般名詞化して使はれてゐる。

黎明期

規格化以前のHTML

HTMLが作られた時點で、HTMLの「あるべき姿」は全く考へられてゐなかつたやうである。HyperText Markup Languageと呼ばれてゐるが、登場した頃のHTMLの「マークアップ」に對するスタンスは、現在のものと異る。

1990年代はじめ頃のHTMLは、SGMLアプリケーションとして「不完全」なものであつた。Word等の文書との互換性を維持する爲、HTMLは「フラットな」ドキュメント形式を採用し、データベース的な作りにはなつてゐない。

例へば、有名な「尻尾<P>」(空要素p:中身がない)は當時の仕樣である。この時點では、明確な「要素」の概念はHTMLに導入されてゐない。或は、SGML的な記述方法と、レンダリング制御言語的な記述方法がごつちやになつてゐた。

バーナーズ・リー卿が當初構想したHTMLは、良く言つて「鷹揚な」、惡く言へば「好い加減」な規格の文書形式であつたと言へる。しかし、一般に使用する爲には「曖昧な代物」は困る譯で、HTMLの規格化は1990年代初期の頃から考へられてゐた。

しかし、實際の規格策定はなかなか進まず、現實に後れを取る事となつた。HTML+(1993年11月8日)が檢討されたものの、規格としては策定されず、一方「HTML 1.0は存在しない」とされる事となつた。

ブラウザ戰爭(前半)

Mosaic

イリノイ大学NCSAのマーク・アンドリーセン(Mark Andreessen)は1993年1月、UNIX用のブラウザ「NCSA Mosaic」を發表した。當時としてはグラフィカルで洗練されたプログラムであつた「Mosaic」は一世を風靡し、同時にWorld Wide Webの普及を後押しする事になる。

なほ、同じ頃にMCC社が「MacWeb」「WinWeb」といつたブラウザを發表してゐる。Mac/WinWebは高速動作し、「通」向けのブラウザとして知られてゐた。

Navigator

1993年末、NCSAのMosaic開發の中核メンバーは、SGI社のジム・クラーク(Jim Clark)とともに、Mosaic Communications社を設立。商用ベースでのMosaic開發を始めた。

もつとも、同社は必ずしもブラウザ開發を專門に行ふ爲、設立された譯ではない。同社の目的はサーヴァ用プログラムを販賣し、利益をあげる事にあつたのであり、ブラウザは一般ユーザを増やす爲の「餌」に過ぎなかつた。

「Mosaic Netscape」は1994年10月13日、「Ver.0.9b」が公開され、從來のMosaicやMac/WinWebを押しのけて多數のユーザを獲得した。同年12月に「Ver.1.0」が完成、「市販」されるやうになつた。

なほ、「Netscape」の特徴として屡々「畫像や動畫、サウンドが扱へる」と云ふ點が強調されるが、セキュリティ機能(SSLが搭載された事を忘れてはならないだらう。

NCSAは「Mosaic」の名稱を使用する權利をMosaic Communicationsに與へなかった。その爲、Mosaic Communications社はNetscape Communications社と社名を改める事になる。「Netscape Navigator」は、當時の「恨み」もあつてか、「Mosaic」を打倒する怪獸のイメージから「Mozilla」と云ふコードネームを附けられてゐる。

また、主要な開發メンバーの拔けたNCSAは、商用利用の爲にスパイグラス社にマスターライセンシーの權利を與へた。多くのメーカはスパイグラス社からライセンスを供與されて、Mosaicの技術を使つたブラウザを開發した。

一言觸れておきたい事がある。當時のNavigatorは確かに「市販アプリケーション」であつた。しかし、「開發版」が「期限附き」と云ふ形で、無償で配布されてゐたのである。ユーザは事實上、無料でNavigatorを使ふ事が出來た。もちろん「開發版」なので、サポートはない。現在のMozilla.orgのMozilla Browserの公開形態も、當時と同じ「開發版の無償配布」である事に注意したい。Mozilla Classicと新しいMozillaとで異るのは、クローズドな開發體制であるか、オープンソースの開發であるか、である。閑話休題。

Microsoft社のInternet ExplorerもスパイグラスのMosaic系である。1995年8月に「Ver.1.0」、11月に「Ver.2.0」が市場に投入される。「Ver.1.0」はWindows95と同時に發賣された「Plus!」に同梱された。

「Mosaic」のスタイル

Netscape、Microsoftの兩社はともに、自社製品で見た「HTML文書」がヴィジュアルなものとなる事を「賣り」としてゐた。兩社は、「MosaicのスタイルこそがHTML整形の標準である」と云ふ前提の下、HTMLをNetscape NavigatorやInternet Explorerで實行されるインタープリタ言語と見做す方針をとつた(ものと思はれる)。Netscape NavigatorやInternet Explorer上でのレンダリングを制御する「言語」としてHTMLを利用したと言へよう。

兩社は、自社製品で閲覽する際にのみ效果を持つ獨自の「タグ」を用意し、一般に普及せしめた。自社製品でしか使へない仕樣を一般に普及させ「デファクト・スタンダード」たらしめる事で、ユーザを取込まうとした。或ブラウザメーカの獨自仕樣は、他社のブラウザを排除する爲の存在であつた。

メーカが基本的なスタイルをブラウザに實裝し、ウェブ制作者はブラウザのスタイルをダイレクトに呼出す「タグ」をHTML文書に記述する、と云ふMosaic以來のやり方が、その後の「ホームページデザインの基本」となつてゐる。

かうして「ブラウザ戰爭」が展開された譯だが、Netscape社は「サーヴァ製品の販賣」と云ふ本來の目的を忘れてゐたやうな氣がしてならない。クライアント向け製品の競爭をしてゐる間に、サーヴァ向けのプログラムはApacheとIISが普及してしまつてゐた。Netscapeのサーヴァ向け製品のシェアは減る許りであつた。或意味、Navigatorに力を入れ過ぎた事(それによつてポータルサイトのシェアを獨占しようとした事)がNetscapeの息の根を止めた理由であると言へなくもない。

HTMLの規格化

規格化の過程で、段々とHTMLの「あるべき姿」が明かにされて行く。そもそも、規格化の過程では、無意識的で混亂した状態が意識して整理されるものである。常に混亂は自然なものであり、規格は人工的なものである。

HTML 2.0/2.x

メーカ間の競爭で大規模な混亂が生ずる直前に、HTML 2.0が基本的な仕樣として公開されてゐる。しかし、MicrosoftとNetscapeは當時、この規格の存在を事實上、無視したやうだ。

HTML 3.2

1997年の1月にHTML 2.x(i18n)とHTML 3.2とが、ほぼ同時に並行して勸告されてゐる事に注意。

HTML 4.0/4.01

W3Cは1997年12月、HTML 4.0を勸告した。HTML 4.0はHTML 2.xの成果を取込み、豫め國際化を考慮に入れた仕樣である。W3Cは、HTML 4.0で「Strict」「Transitional」「Flameset」の三つの文書型を提示してゐる。

W3CはHTML 4.0 Strictで、HTMLから見榮えを排除し、HTML自體を文書構造記述言語として純化させる方針を示したと言へる。

そしてW3Cは、ブラウザに依存してゐたHTML整形のスタイルを、スタイルシートとして再定義し、Cascading Style Sheetsの概念を提唱した。「見榮え」と云ふ觀點から見過ごされがちだが、スタイルシートの概念を確立した事は、ヴェンダ依存であつたスタイルをヴェンダから解放したと云ふ意味にほかならない。W3Cは、HTML自體を、より抽象化し、オブジェクト指向に近づけてゐるが、スタイルシートに關しても同じ方針を採つてゐると言へる。

ただ、HTML 4.0は文書の構造化に關して、のちのISO-HTMLのやうな制限を行つてゐない。

なほ、W3Cは1999年12月にHTML 4.01を勸告、4.0を破毀した。HTML 4.01は4.0にあつた辻褄の合はない幾つかの問題點を修正したもの。

ブラウザ戰爭(後半)

Netscape Navigator 對 Internet Explorer

Netscape Communications社は1996年3月に「Navigator 2.0」を、8月には「3.0」を發表。先行するNetscapeは2.0に「JavaScript」なるスクリプト言語を實裝し、ウェブに「動き」を與へた。

Microsoftは1996年8月、プログラムのコンポーネント化がなされた「Internet Explorer 3.0」を發表。JavaScript互換のスクリプト言語(JScript)と同時に、VisualBasic風のスクリプト言語であるVBScriptを實裝。また、Cascading Style Sheetsのドラフト仕樣にフライング對應した。

W3Cによる調停

W3Cは1996年12月17日、Cascading Style Sheets, level 1を勸告した。正式版の仕樣とInternet Explorer 3.0に實裝されてゐるドラフト仕樣とは異るもので、Internet Explorer 3.0は正式な仕樣に從つた文書の解釋を出來ない。

一方、W3Cは「獨自路線」のHTML 3.0策定を諦め、1997年1月に「現實的」なHTML 3.2を勸告してゐる。HTML 3.2は、取敢へず現状を追認した「最大公約數」的な規格で、暫定的な存在である。

注意しておきたいのだが、CSS1はHTML 3.2よりも前の規格である。

1997年6月、Netscape Communicationsは「Netscape Navigator 4」を發表した。「4」ではHTML 3.2完全對應を謳ふ一方、Cascading Style Sheets level 1.0對應を表明してゐる。

もつとも、Netscapeの方針は飽くまでNavigatorをJavaScriptベースの「HTMLプレーヤ」とするものであつたやうである。layerタグとJavaScriptの組合せによる「ダイナミックHTML」機能の實裝が「賣り」であり、獨自の「スタイルシート」であるJavaScript Stylesheetを實裝してゐる。

「Navigator 4」のCascading Style Sheetsの解釋には問題が多く、JavaScriptをオフにするとCascading Style Sheetsの解釋をやめるところから、「Navigator 4はCSSをJavaScript Stylesheetに變換して實行してゐる」と云ふ噂が立つた。

Microsoftは1997年10月1日、Internet Explorer 4.0(正式版)の配布を開始してゐる。Cascading Style Sheets level 1.0の基本的な部分をしつかり押さへつつ、獨自の擴張を行ふ事で、「ダイナミックHTML」の「流れ」にはしつかり載つてゐるにもかかはらず、「仕樣に忠實」と云ふ評判を得た。

ただ、今となつては「いかにもMicrosoftらしい」としか言ひやうがないのだが、「Internet Explorer 4.0」はセキュリティホールを抱へてゐた。Microsoftはのち、修正版(4.01)を出してゐる。

「HTML 4.0」以後

既に述べた通り、W3Cは1997年12月にHTML 4.0を勸告した。同じ「4」が附くと云ふ事で、屡々Netscape Navigator 4とInternet Explorer 4は「HTML 4.0準據」のブラウザだと思はれてゐるが、實は「HTML 4.0以前」の製品である。情報は事前に傳はつてゐただらうから、NetscapeもMicrosoftもそれなりにHTML 4.0には備へてゐたとも考へられるが、兩ブラウザは飽くまで「HTML 4.0以前」の製品である、と云ふ事を考慮に入れて、我々は評價しなければならない。その後、W3Cは1998年5月12日にCascading Style Sheets, level 2を勸告してゐる。

ここで指摘しておきたいのだが、HTML 3.2が「現状の追認」であつたのに對し、HTML 4.0とCascading Style Sheetsは「現状に先行する仕樣」となつてゐる。現状と仕樣の立場がHTML 4.0とCSS2が規格化された時點で逆轉した、と云ふ事實を念頭に置かずに、W3Cの(或はHTMLとCSSの)仕樣を論ずるのは妥當ではあるまい。

Microsoftは1999年3月に「Internet Explorer 5.0」、2000年7月に「Internet Explorer 5.5」を公開してゐる。「4」から「5」にヴァージョンアップする際、HTML 4.0と云ふよりはCascading Style Sheets level 2への對應が強化されてゐる。

Netscapeのブラウザは、「Navigator 4」で永らく足踏みしてゐたが、「Netscape 6」が2000年末に漸くリリースされた。「6」はW3Cの勸告する仕樣に徹底的に忠實に從ふブラウザである(事になつてゐる)。

もつとも、Netscapeの長期に亙るブラウザ開發の停滯により、ブラウザの市場シェアは、ほぼ九割をInternet Explorerが占めるやうになつてゐる(2001年秋現在)。Netscapeは1998年11月、AOLに買收された。「Netscape 6」はオープンソース團體のMozilla.orgが開發した「Mozilla Browser」をベースにしてゐる。

XML

XML 1.0

W3Cはウェブに於るより高度なデータ交換ファイル形式として1998年2月10日、Extensible Markup Language (XML) 1.0を提唱した。

2000年10月6日、Extensible Markup Language (XML) 1.0 (Second Edition)で一部のエラーが訂正されてゐる。

XHTML 1.0

W3Cは2000年1月26日、HTML 4.01をXMLに基いて再定義したXHTML 1.0W3C推奬のマークアップ言語として勸告した。

XHTML 1.0は、SGMLベースであつた從來のHTMLを、改めてXMLベースで再定義したものである。

XHTMLXMLに基いたHTMLの簡易版である、と言へる。

野嵜の個人的な推測だが、W3Cはウェブでのデータ交換ファイル形式をXMLに統一しようとしてゐるのではないか。

XHTML準據の文書は常に正しいXML文書となつてゐる筈である。その結果、幾つかのメリットが生ずる。プログラム處理上のメリットは以下の通り。

同時に、「空要素に於て終了タグの省略が可能」と云ふ、マークアップに於るHTMLの問題を解消してゐる。

XHTML 1.0の仕樣の概要は以下の通り。

XHTML 1.0はHTML 4.01の方針をそのまま生かしてをり、基本的に「物理マークアップ」も「論理マークアップ」も並行して殘されてゐる。

2001年10月4日
XHTML 1.0 Second Edition(W3C Working Draft 4 October 2001)
2002年8月1日
XHTML 1.0 Second Edition(W3C Recommendation 26 January 2000, revised 1 August 2002)

Modularization of XHTML

W3Cは2001年4月10日、Modularization of XHTMLを勸告した。

この「XHTMLのモジュール化」でW3Cは、XHTMLの要素をより良く再定義し、整理して分割した上で、擴張に關する一定のルールを設けようとしてゐる。

XHTML 1.1

W3Cは2001年5月31日、XHTMLの次ヴァージョンであるXHTML 1.1 - Module-based XHTMLを勸告した。

XHTML 1.1は、 Modularization of XHTMLに基き、要素と屬性をグループ化・モジュール化したもの。

機能に基いて要素・屬性がモジュールに分割された上で、「文書の構造を明示する」と云ふ觀點から最低限必要なもの、オプションとして用意されてゐて利用して良いもの、オプションとして用意されてゐるが使ふべきでないもの、として、それぞれのモジュールが分類されてゐる。

XHTML 1.1 Driverなる仕組で、XHTML 1.1ではモジュールを組合せて定義されてゐる。この仕組を利用すれば、制作者によるカスタム版のDTDを記述出來るらしい。

國際標準化

2000年5月15日、ISO(國際標準化機構)がISO/IEC 15445:2000を發行してゐる(ISO/IEC 15445:2000/DCOR 1:2001(E))。JISは2000年10月20日、ISO/IEC 15445:2000を日本語譯し、日本工業規格JIS X 4156:2000 ハイパテキストマーク付け言語(HTML)として發行。

ISO-HTMLは、HTML 4.0をベースにした仕樣で、はじめから國際化されてゐる。所謂「JIS-HTML」の仕樣書はISO-HTMLの仕樣書を單に日本語譯したものである。ISO-HTMLと所謂「JIS-HTML」は全く同一のもの。

ISOは基本的に「安定した技術」のみを採用してゐる。W3CのXHTMLが先進的であるのとは逆に、ISOのISO-HTMLは極めて保守的であると言へる。同じ「嚴密」な仕樣であつても、兩者の性格は正反對であると言へる。

もつとも、address要素の處遇など、ISO-HTMLにも「あやしい」部分が殘つてゐる。

HTML 2.0/2.xのobsolete化

IETFは2000年7月、RFC2854(The 'text/html' Media Type)で、HTMLを定義した以下のIETFのRFC文書をobsoleteにしてゐる。

Note that with the release of RFC 2854, RFC 1866 has been obsoleted and its current status is HISTORIC.

HTML 2.0/2.xは既に過去のものとなつてゐる爲、今更ウェブサイト制作の際に用ゐてはならない。

「05/20/2001 @ 回顧録」で、NiAOU樣から情報をいただきました。

簡單な纏め

HTMLの「進化」の道筋(野嵜の私見)。

附記