Written by
Lee Jongseo
on
on
브라우저 렌더링 과정
브라우저 컴포넌트
- User interface
- Browser engine
- Rendering engine
- Networking
- UI backend
- Javascript interpreter
- Data storage
Rendering engine
역할: HTML content 또는 이미지를 화면에 보여준다. 그 외 파일을 플러그 인을 통해 보여준다. 종류 (Browser - engine) - Internet explorer: Trident - Firefox: Gecko - Safari: Webkit - Chrome: Blink
Basic flow of rendering engine
- Networking layer을 통해서 8kb chunks사이즈로 contents를 전달받는다.
- Parse HTML, Convert elememt to DOM Node, and Contructs DOM tree
- Styling information(external CSS and style elements)을 결합하여 render tree를 만든다.
- Layout of the render tree: DOM 노드들을 스크린 상 정확한 좌표에 배치.
- Painting: 각각의 DOM node를 순회하면서 UI backend layer을 통하여 페인트.
Paint order
- background color
- background image
- border
- children
- outline
Flow Example
- HTLM parser parse HTML file => DOM Tree
- CSS parser parse Style sheet => style rules
- 결합
- Render tree
- Layout
- Paint
- Display