
1. HTML 파싱과 DOM 생성:
브라우저는 서버에서 받은 HTML 문서를 파싱하여 DOM 트리(Document Object Model)를 생성합니다. DOM 트리는 HTML 문서의 구조를 표현하는 트리 구조로, 각 HTML 요소와 그 속성들을 노드로 나타냅니다.
2. CSS 파싱과 스타일 계산:
브라우저는 스타일 시트(CSS)를 파싱하여 CSS 객체 모델(CSS Object Model)을 생성합니다. 이후, DOM 트리와 CSS 객체 모델을 결합하여 스타일 규칙을 계산하고 각 요소에 적용될 최종 스타일을 결정합니다.
3. 레이아웃(Layout) 구성:
브라우저는 DOM 트리와 스타일 규칙을 바탕으로 요소들의 크기와 위치를 계산하여 레이아웃을 구성합니다. 이 과정에서 요소들의 상대적인 배치와 크기가 결정됩니다.
4. 렌더 트리 생성:
브라우저는 DOM 트리와 레이아웃 정보를 바탕으로 렌더 트리(Render Tree)를 생성합니다. 렌더 트리는 화면에 실제로 표시되는 요소들로 구성되며, 시각적인 속성(스타일, 레이아웃)이 반영됩니다.
5. 화면 그리기와 렌더링:
브라우저는 렌더 트리를 기반으로 화면에 요소들을 그리고 렌더링합니다. 이 과정에서 화면의 각 픽셀에 해당하는 색상과 텍스처가 결정되고 실제 화면에 표시됩니다.
이러한 과정을 통해 브라우저는 사용자가 요청한 웹 페이지를 구성하고 화면에 표시합니다.
'기술면접' 카테고리의 다른 글
31_쓰로틀링(Throttling) & 디바운싱(Debouncing) (0) | 2024.03.07 |
---|---|
30_Event bubbling & capturing (0) | 2024.03.06 |
28_렌더링 방식(Server Side Rendering, Client Side Rendering, Static Site Generation)의 장단점 (0) | 2024.03.05 |
27_Lazy loading & Code splitting (0) | 2024.03.02 |
25_라이프사이클 메소드에 대해 설명해주세요. (0) | 2024.02.29 |