レンダリングとは
レンダリングとは、指定したリソースをブラウザに表示することです。
Webでいうリソースとは、URIによって一意に得られるデータ(主にHTMLなど)のことです。
ブラウザの中のレンダリングエンジンというモジュールがレンダリングを担当します。
具体的には以下の作業を行います。
①パース(HTMLファイルをパース(解析)してDOMツリーを作る。CSSファイルをパースしてCSSOMツリーをつくる。)
②レンダーツリー構築(DOMとCSSOMを合わせてレンダーツリーを構築する)
③レイアウト(ブラウザ画面にどのように表示するかを計算する)
④ペインティング(画面に描画して表示する)
パースとは
ブラウザはWebサーバからHTMLをダウンロードし、それをパース(解析)してブラウザに割り当てられたメモリ上にDOMツリーとして配置します。
CSSも同じようにCSSOMツリーとしてメモリ上に配置します。
DOMとは
DOMはDocument Object Model(ドキュメントオブジェクトモデル)の略。
DOMはHTMLに含まれる要素や要素をオブジェクトとして扱います。HTMLをオブジェクトが階層的に組み合わされたものとして識別します。そしてDOMではJavaScriptなどのプログラミング言語などから、オブジェクトを扱うためのAPIを提供しています。
つまり、DOMはHTMLを階層構造のオブジェクトとして扱い、JavaScriptによって操作できる状態を提供するということです。
まとめ
レンダリングとは、ブラウザがリソースを画面に表示することです。
(ブラウザがHTMLを解析して表示すること)
HTMLをパースしてDOMツリーが形成される。
DOMはHTMLを階層構造のオブジェクトとして扱い、JavaScriptで操作できるようにしている。
参考