HTML5、JavaScriptとCSSを勉強するにあたって、
WEBブラウザについての情報からまとめる。

まずWEBブラウザの基本機能は下記3つ
  1. 通信ソフト
  2. レンダリングエンジン
  3. スクリプトエンジン

通信ソフト

WEBブラウザは、WEBサーバーとの通信仕様であるHTTPを使って、
サーバーに保管されているHTMLドキュメントをダウンロードする。


レンダリングエンジン

WEBサーバーから取得したHTMLドキュメントは、単純なテキストファイル。
WEBブラウザは、HTMLで参照している画像(<img>タグ)や、外部リンクされた
スクリプト(<script src>)、CSS(<link>)をファイルを順次ダウンロードする為、
WEBブラウザの通信ソフトの機能は、HTMLを理解しているということがわかる。

HTML本体と関連コンテンツをダウンロードしたら、WEBブラウザの画面で
見られるような形に成形する必要がある。

HTMLからタグを除去して、<h1>で囲まれた部分を大きな字に、<br>や<p>〜</p>で改行、
<table>による表組み、<img>部分への画像の書出しが必要。


スクリプトエンジン

HTMLを読める形に変換するだけでなく、CSSによる装飾もレンダリングエンジンが行う。
最新のCSSに対応しているかどうかはこのレンダリングエンジンの性能によって決まる。

JavaScriptのプログラムを動作させるための「スクリプトエンジン」も備えている。
JavaScriptプログラムは単純テキストで記述されていて、そのままCPUが解釈・実行できる
コンパイルされたプログラムではない。

よってWEBブラウザは、ソースコードを適宜コンパイルしながら、CPUが処理できる
コードに変換して動作させる必要がある。

スクリプトエンジンがソースコードを解釈して実行する速度が速いほど、ブラウザの閲覧は
快適ということになる。ブラウザ各社ごとに、速度を比較しているがこのスクリプトエンジンの
速度だ。

例えば、有名なスクリプトエンジンにGoogle Chromeが搭載ている「V8」がある。
V8は逐次コンパイルといった形を取らず、JavaScriptプログラムを読み込むと、
同時にCPUが理解できるネイティブコードへコンパイルすることで高速化を実現している。