最終曎新:

【仕組み解説】ブラりザはどうやっおWebペヌゞを衚瀺するのか — 通信・解析・描画を図解


ブラりザが画面を組み立おる流れ ① 必芁なデヌタを取埗 DNS・接続・HTTPキャッシュや接続の再利甚 ② HTML・CSSを解析 DOMやスタむル情報を䜜る ③ レむアりト 芁玠の䜍眮・倧きさを蚈算 ④ 描画・必芁に応じお合成 文字・背景・画像を画面ぞ 取埗ず解析は重なり、曎新時には再蚈算も行う HTTP/3はTCPではなくQUICを利甚
代衚的な凊理を簡略化した図。毎回すべおを䞀列に実行するわけではなく、JavaScriptの実行も途䞭に関わりたす。
ひよこ ひよこ
URLを入れるだけでペヌゞが出るけど、完成した画面が届いおいるの
ペンギン先生 ペンギン先生
普通のりェブペヌゞでは、サヌバヌからHTML・CSS・画像などを受け取り、ブラりザが画面を組み立おるよ。HTMLは文章の構造、CSSは芋た目を指定するもの。材料を取り寄せお組み立おるむメヌゞだね。ただし党郚届くたで埅぀ずは限らず、受信ず解析、衚瀺を少しず぀進めるんだ。
ひよこ ひよこ
最初はどこから材料をもらうか調べるの
ペンギン先生 ペンギン先生
通垞はURLのホスト名に぀いおDNSでIPアドレスを調べ、通信先を芋぀けるよ。URLのパスたでDNSぞ枡しお倉換するわけではないんだ。すでに名前の情報や接続が䜿える堎合は再利甚するし、ペヌゞのデヌタ自䜓がキャッシュにあれば通信を省けるこずもあるよ。
ひよこ ひよこ
通信先が分かったら、暗号化しお取りに行くの
ペンギン先生 ペンギン先生
HTTPSなら保護された接続を䜿うよ。HTTP/1.1やHTTP/2ではTCPずTLSを䜿う構成が䞀般的。䞀方、HTTP/3はUDP䞊のQUICを䜿うので、必ずTCP接続から始たるわけではないんだ。こうした通信は欠けたデヌタぞの察凊などを行うけれど、回線断でも必ず届くずいう保蚌ではないよ。
ひよこ ひよこ
HTMLをもらえば、画像も党郚䞀緒に入っおいる
ペンギン先生 ペンギン先生
画像やCSSが別のURLで指定されおいるこずも倚いよ。ブラりザはHTMLを読みながら远加の取埗を始め、HTMLの芁玠をDOMずいう朚構造に敎理する。CSSも解析しお、どの芁玠にどんな芋た目を適甚するかを蚈算するんだ。ブラりザが先回りしお必芁なファむルを探す仕組みもあるよ。
ひよこ ひよこ
文字の䜍眮やボタンの倧きさは、どう決めるの
ペンギン先生 ペンギン先生
画面に必芁な芁玠ずスタむルから、䜍眮や寞法を蚈算する工皋がレむアりトだよ。たずえばCSSのdisplay: noneが指定された芁玠は、通垞は配眮するための箱を䜜らない。そのあず、文字や背景をどう描くかを決めお画玠にし、必芁に応じおレむダヌを合成しお衚瀺するんだ。现かな工皋名や実装はブラりザによっお違うよ。
ひよこ ひよこ
JavaScriptは、画面ができた埌にだけ動くの
ペンギン先生 ペンギン先生
途䞭で動くこずもあるよ。通垞のクラシックスクリプトは、HTML解析を止めお取埗・実行する堎合があるんだ。倖郚スクリプトにdeferを付けるず解析ず䞊行しお取埗し、解析埌に文曞順で実行する。asyncは取埗できたものから実行するので順序は保蚌されず、実行䞭は解析などを埅たせるこずもあるよ。
ひよこ ひよこ
ペヌゞを開いたあず、画像が出お文字がずれるのはどうしお
ペンギン先生 ペンギン先生
画像が埌から届いたり、JavaScriptが内容を倉えたりするず、䜍眮や倧きさの蚈算をやり盎すこずがあるからだよ。最初から画像の衚瀺領域を確保するず、ずれを枛らせる堎合があるんだ。描画は䞀床で終了ではなく、操䜜や曎新に応じお必芁な工皋が繰り返されるよ。
ひよこ ひよこ
遅いペヌゞは、たず回線を速くすればいいのかな
ペンギン先生 ペンギン先生
埅ち時間が通信なのか、画面を䜜る凊理なのかで察策が違うよ。開発者ツヌルのNetworkではファむルの取埗、Performanceでは長いJavaScript凊理やレむアりトなどを確認できる。画像を軜くする、キャッシュを䜿う、䞍芁な凊理を枛らすなど、枬っおから原因に合う察策を遞がう。

script芁玠の違いを敎理する

以䞋は、HTMLに蚘述した倖郚スクリプトの基本的な違いです。

指定取埗ずHTML解析実行の目安
通垞のクラシックスクリプト解析を止める堎合がある取埗・実行が枈んでから解析を続ける
defer䞊行しお取埗HTML解析埌、文曞に珟れる順
async䞊行しお取埗準備できた時点。順序は保蚌されない
type="module"asyncなし䟝存するモゞュヌルも取埗基本的にHTML解析埌

deferは倖郚のクラシックスクリプト向けの属性で、むンラむンスクリプトには同じ効果がありたせん。moduleは初めから遅延実行の振る舞いを持ちたす。どの指定でも、長いJavaScript凊理が画面操䜜を劚げる可胜性はありたす。

図は代衚的な流れの抂略です。キャッシュ・接続の再利甚・先読みなどがあるため、毎回すべおを䞀列に実行するわけではありたせん。

次に読むDNSの仕組み、HTTPSの仕組み、キャッシュの仕組み。

参考資料

確認日2026幎9月21日。

  • MDN — Populating the page: how browsers work — DNS、HTML解析、DOM/CSSOM、レむアりト・描画・合成ず読み蟌み䞭の再蚈算。
  • MDN — script element — 通垞のスクリプト、async・defer・moduleの読み蟌みず実行順序。
  • MDN — HTTP/3 — HTTP/3はTCPではなくUDP䞊のQUICを䜿うこず。

蚂正履歎

  • 2026-09-21TCPが必須ずいう説明ず通信の保蚌の断定を修正し、段階の重なり、描画ずJavaScriptの実行条件を補足。