domcssomlayoutpaint

critical rendering path를 설명해 주세요

면접 출제
예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

DOM과 render tree는 같은 건가요?

부가 설명

HTML -> DOM
CSS -> CSSOM
DOM + CSSOM -> Render Tree
Render Tree -> Layout -> Paint -> Composite

각 단계는 서로 영향을 줍니다. 예를 들어 CSS가 늦게 오면 style을 계산하기 어렵고, JavaScript가 DOM을 바꾸면 layout이 다시 필요할 수 있습니다.

성능 최적화에서는 “무엇이 첫 화면 렌더링을 막고 있는가”를 봅니다. 큰 CSS 파일, parser를 막는 script, layout을 자주 유발하는 DOM 조작은 critical rendering path를 길게 만들 수 있습니다.

Browser 렌더링 파이프라인은 구현마다 세부가 다를 수 있습니다. 그래서 핵심은 큰 흐름과 병목 지점을 구분하는 데 있습니다.

한 줄 정리

critical rendering path는 browser가 DOM, CSSOM, render tree를 만들고 layout과 paint를 거쳐 화면을 그리는 핵심 경로입니다.