迷い人

日々勉強。勉強の先に何か見つかるといいなぁ

【書評】webはどのように発展したか WWWからフレームワークまで

プロになるためのweb技術入門からポイントを抜粋しています。

 

 

要約

・情報共有(静的なコンテンツ)のためにWWWができた

・動的なコンテンツのためにCGIができた

CGIの問題点を解決するためにJava/サーブレットができた

Java/サーブレットの問題点を解決するためにJSPができた

・効率的な開発をするためにフレームワークができた

 

 

1989年に欧州原子核研究機構(CERN)にて実験結果を全世界の研究者で共有することを目的に「WWW」が誕生

 

WWWとは、ハイパーテキストという仕組みで文書と文書間をリンク付けされたもの。

 

ネットワーク上でリンクされた文書があたかも蜘蛛の巣のように見えることから、Word-Wide Web(世界に広がる蜘蛛の巣)と名付けられた。

 

WWWでは、Webサーバに蓄積された情報をWebクライアントの要求に従って渡す仕組み。

 

URLは、インターネット上に蓄積された情報を一意に指定するもの。

 

URLは、スキーム、ホスト名、パス名から構成。

 

スキームには、httpやhttpsがあり、情報を取得するための方法を規定。

 

ホスト名には、ローカル名と親ドメイン名から構成。

 

ローカル名には、wwwやlocalhost:3000があり、クライアントからの要求に対して結果を返すコンピュータの名前のこと。

 

ドメイン名は、例えばyahoo.co.jpであり、組織の名前のこと。

 

パス名は、ホスト名で指定されたコンピュータ上の情報の位置を示す。

 

WWWを実現するための取り決めがHTTP。

 

現在はHTTP/1.1が普及。

 

CGIとは、クライアントからの要求をWebサーバ上で動作するプログラムに渡し、プログラムはHTMLを生成し、Webサーバは結果をクライアントへ返す仕組み。

 

CGIの仕組による、動的なWebサイト、検索サイトやショッピングサイトが実現できるようになった。

 

CGIの問題点は2つ。

  • オブジェクト指向が取り入れられていないPerlで実装されることが多かった
  • リクエストのたびにプロセスを起動するため、アクセス数が多くなると処理に時間がかかる

 

CGIの問題を解決するものとしてJava/サーブレットが誕生。

 

Javaオブジェクト指向をサポートしており、大規模システム開発がしやすい。

Webサーバと同じプロセスの中でプログラムが動作するため、プロセスを毎回起動することは無い。

 

Javaの特徴に、WindowsLinuxと行った異なるプラットフォームで同じプログラムを動作させることができる。JavaVMがプラットフォームの違いを吸収。

 

サーブレットの問題点は、動的に生成される出力結果がHTMLに埋め込まれているため、HTMLが複雑になり、機能追加時の修正作業が大変になる。

 

サーブレットの問題点を解決するために、JSPが誕生した。

 

JSPでは、動的に変更される部分のみ「<%」「%>」で括り記述することが可能。

 

サーブレットは、Javaコードの中にHTMLを埋め込む。

JSPは、HTMLの中にJavaコードを埋め込む。

 

サーブレットJSPの問題点は、大規模開発となったとき、開発者が似たような独自ライブラリを作ったりして、効率的な開発ができないこと。