Computer Science/NetWork
📌"브라우저가 HTML을 어떻게 화면에 띄울까?"
추천캐릭터
2025. 8. 9. 21:44
728x90
반응형
📖 본문
1. 크리티컬 렌더링 패스란?
브라우저가 HTML, CSS, JavaScript를 해석하고,
**사용자가 볼 수 있는 화면(Pixel)**으로 만드는 전체 과정을 말합니다.
즉, “코드를 → 화면”으로 바꾸는 여정이죠.
2. 단계별 과정
① HTML 파싱 → DOM 생성
- 브라우저가 HTML 파일을 위에서부터 한 줄씩 읽음
- 태그를 구조화하여 DOM(Document Object Model) 트리로 만듦
② CSS 파싱 → CSSOM 생성
- <link> 또는 <style> 태그의 CSS를 해석
- CSS 규칙을 트리 구조로 만들어 CSSOM 형성
③ Render Tree 생성
- DOM + CSSOM 결합 → 렌더 트리(Render Tree) 생성
- 실제 화면에 보여질 요소와 스타일 정보만 포함
④ 레이아웃(Layout)
- 각 요소의 크기와 위치 계산
- 반응형이라면 화면 크기에 맞춰 재계산
⑤ 페인팅(Paint)
- 색상, 그림자, 이미지 등을 픽셀 단위로 채움
⑥ 합성(Composite)
- 여러 레이어를 합쳐 최종 화면을 그림
3. 중요한 점 — 렌더링 속도에 영향을 주는 요소
- CSS와 JS 로드 순서
- CSS가 늦게 로드되면 렌더링이 지연됨
- JS는 DOM 파싱을 멈추게 할 수 있음 (defer, async 활용)
- 이미지 용량
- 용량이 크면 페인팅에 시간 많이 걸림
- 리플로우 / 리페인트 최소화
- DOM 구조나 스타일 변경이 많으면 속도 저하
4. 브라우저 렌더링 흐름 그림
HTML → DOM 생성
CSS → CSSOM 생성
DOM + CSSOM → Render Tree 생성
Render Tree → Layout(크기·위치 계산)
Layout → Paint(색칠)
Paint → Composite(합성)
📌 정리 표
단계 설명
| DOM 생성 | HTML 구조 파싱 |
| CSSOM 생성 | CSS 해석 |
| Render Tree | DOM+CSSOM 결합 |
| Layout | 요소 크기·위치 계산 |
| Paint | 픽셀 색칠 |
| Composite | 화면 합성 |
728x90
반응형