Web関連の本を読んだまとめ
Webはどのように発展してきたか
World Wide WebとMosaic
インターネットは50年ほど前の1969年にその原型が生まれた。当初の20年間近くは、大学の研究者などのごく一部の限られた人が利用するものだった。これには2つの理由が考えられる。
- インターネットを利用するためのコンピュータやネットワーク資源が非常に高価だった
- 利用用途が電子メールの交換やファイル共有が中心で、普段コンピュータに縁のない人にはあまり興味の向かいないものだった
WWWの誕生
この状況を大きく変えるきっかけとなったのが、「World Wide Web」と、Webブラウザの原型である「NCSA Mosaic」と呼ばれるソフトの誕生。
世界で始めてWWWが提案されたのは1989年で、素粒子物理学の研究所からであり、研究結果をHTMLと呼ばれる統一された形式で表現することを考えられた。HTMLはその後徐々に仕様が固められていき、現在でもwebサイトの記述に使われている。
ここで最も画期的であったのが、「Hyper Text」と呼ばれる仕組みで、Hyper Textでは、文書間の参照が「Hyper Link」というコンピュータで理解することのできる形式で記述されているため、瞬時に参照先の文書を閲覧することができる。
このようなネットワーク上でリンクされたハイパーリンクの繋がりが、蜘蛛の巣のように見えることから、World Wide Webと名付けられた。
NCSA Mosaic
テキスト中心で表示されていたWebページを、現在のWebブラウザのように、文字と画像を混在させて表示できるようにしたのが、1993年に開発されたNCSA Mosaic。
Mosaicが開発され、無料でだれでも利用できるようになったおかげで、WWWの利用は大きく広がり、一般の人の興味を引くようになった。
CGIの誕生
Webサーバは本来、元々用意されていたコンテンツ(静的なコンテンツ)をクライアントからのリクエストに応じて返すのが仕事。
動的なコンテンツを生成してWebクライアントに渡すにはWebサーバとコンテンツを生成するプログラムとの連携が必要であり、そこで考え出されたのが、CGI(Common Gateway Interface)という仕組み。
このCGIによって、検索サイトや掲示板システムショッピングサイトといった機能を実現することができるようになった。これがWebアプリケーションの始まり。
サーブレットの登場
CGIを使ったアプリケーションが普及するに従って、新たな問題が生じた。
開発言語の問題
当時主に利用されていた言語はPerlであり、アプリケーションに求められる機能が大規模化、複雑化するに従って、プログラムの作成が困難になってきた。
性能の問題
従来はWebブラウザからリクエストが届くたびにCGIを通じてプロセスを起動していた。アクセス数が少ないうちは、これで問題なかったが、アクセスが増えるに従って、処理が追いつかなくなった。
Java/サーブレットの誕生
Webアプリケーション開発がこのような問題を抱えていた際に登場したのがJava。
Javaはオブジェクト指向の機能をフルサポートしており大規模なシステム開発が行いやすく、また当時広く利用されていたC言語に似た文法であったため、当時の開発者に受け入れやすかった。
Java自体はWebアプリケーションの開発を行うために作られた言語ではなかったため、JavaEE(Java Enterprise Edition)の一部として「サーブレット」というWebアプリケーション開発をサポートするための機能が提供された。サーブレットとはJavaで作られたHTMLなどのWebコンテンツを生成するプログラムのこと。
Javaには特定のOSやハードウェアに依存せずに動作するという特徴を持つ。
まとめ
インターネットの歴史が思った以上に浅くて驚いた(筆者は1995年生まれ)