ブラウザ × レンダリング

ブラウザ

ブラウザ

 状態:学習中  閲覧数:2,476  投稿日:2015-09-17  更新日:2015-09-18
主な機能
・「ユーザーが選択したウェブ リソースをサーバーへ要求してブラウザ ウィンドウに表示すること」 → ユーザーへ情報提示

ブラウザによる HTML ファイルの解釈方法と表示方法
・HTML と CSS の仕様で規定

仕様
・ウェブに関する標準化団体「W3C(World Wide Web Consortium)」が管理


ブラウザの上位構造


ブラウザの主な構成要素
日本語表記 英語表記 内容
3 レンダリング エンジン Rendering engine 要求されたコンテンツの画面表示を担当。例えば、要求されたコンテンツが HTML の場合は、HTML と CSS を解析し、解析されたコンテンツを画面に表示。Blink、WebKit、Gecko、Tridentなど
2 ブラウザ エンジン Browser engine UI とレンダリング エンジンの間の処理を整理
1 ユーザーインターフェース User Interface アドレスバー、戻る/進むボタン、ブックマーク メニューなど。ブラウザ画面のうち、要求したページが表示されるメイン ウィンドウを除くすべての部分


処理フロー

 閲覧数:387 投稿日:2015-09-18 更新日:2015-09-20

1.コンテンツをネットワーキング レイヤから取得


レンダリング エンジンが、「要求したドキュメントのコンテンツ」をネットワーキング レイヤから取得


2.HTML Parser → DOM Tree


レンダリング エンジンは、 HTML ドキュメントを解析して DOM Tree へ変換
・タグを「コンテンツ ツリー」というツリー内の DOM ノード(DOM Tree)に変換

HTML パーサーの役割
・HTML マークアップを解析して解析ツリーを作成すること

DOM とは?
・「Document Object Model」の略
・HTML ドキュメントや、HTML 要素と JavaScript などの外部世界とのインターフェースをオブジェクトで表現したもの

DOM の仕様は?
・HTML と同様に、標準化団体 W3C が策定
ドキュメントの操作に関する全般的な仕様
HTML の定義

生成される DOM Tree とは?
・解析ツリー
・「DOM 要素と属性のノード」のツリー
・ツリーのルートは「Document」オブジェクト


3.CSS Parser → Style Rules




4.Render Tree = DOM Tree + Style Rules


色や寸法などの視覚的な属性を持つ矩形を含む
・矩形は、画面に表示される正しい順序で並んでいる


5.Render Tree → 各ノード描画


5-1.「レイアウト」処理
・画面に表示される正確な座標が各ノードに割り当てられる

5-2.「描画」処理
・レンダー ツリーが走査され、UI バックエンド レイヤを使用して各ノードが描画される






August 5th, 2011
How Browsers Work: Behind the scenes of modern web browsers
・和訳A.ブラウザのしくみ: 最新ウェブブラウザの内部構造
・和訳B.How Browsers Work - Behind the Scenes of Modern Web Browsers — Translation of "How Browsers Work" 0.1 documentation
・和訳C.ブラウザってどうやって動いてるの?(モダンWEBブラウザシーンの裏側)




コンソールエラー / ブラウザ間差異

コピペ出来ないWebページをコピペ出来るようにするためには? 2017年



週間人気ページランキング / 4-19 → 4-25
順位 ページタイトル抜粋 アクセス数
1 16進数カラーコード / 2進数 23
2 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 14
3 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 13
4 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 12
5 RGB ⇔ Lab | 色変換(色) 9
5 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 9
6 Design 0 8
6 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 8
7 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 6
8 「z-index」効果を打ち消すスタイルシートは、「z-index:auto;」 5
8 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 5
9 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 4
10 「line-height」効果を打ち消すスタイルシートは、「line-height:normal; 3
10 「overflow」効果を打ち消すスタイルシートは、「overflow: auto;」 3
10 「群青色」「瑠璃色」「ウルトラマリンブルー」の違い 3
10 「bgcolor」「background-color」「background」の違い | CSS 3
11 HTML5でiframeスクロールバーを表示しない方法が不明 | HTML5(HTML) 2
11 「Midjourney」を使用してみた感想。2022 年 8 月 2 時点では、画像生成能力自体は素晴らしいと思いますが、UIが致命的に分かりづらかったです。 | AI画像生成 2
11 2進数 / Binary Number 2
11 鉄道会社毎のカラーコード | カラーコード(色) 2
2024/4/26 1:01 更新