사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는것 자원의 주소는 URI에 의해 정해짐
브라우저는 HTML과 CSS 명세에 따라 HTML 파일을 해석해서 표시하는데 이 명세는 웹표준화 기구인 W3C에서 정한다.
*URI(Uniform Resource Identifier) - 네트워크 상 자원을 가리키는 일종의 고유 식별자.
사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴등 요청한 페이지를보여주는 창을 제외한 나머지 모든 부분
브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어.
렌더링 엔진 - 요청한 콘텐츠를 표시.
통신 - HTTP 요청과 같은 네트워크 호출에 사용됨.
UI 백엔드 - 콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용
자바스크립트 해석기 - 자바스크립트 코드를 해석하고 실행
자료 저장소 - 자료 저장 계층. 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있다. HTML5 명세에는 브라우저가 지원하는 웹데이터 베이스가 정의되어있음

(크롬은 대부분의 브라우저와 달리 각 탭마다 별도의 렌더링 엔진 인스턴스를 유지)
렌더링 엔진의 종류
- Gecko - 모질라, 파이어폭스
- Blink(ver.28 이후[크롬]) - 구글, 오페라
- Webkit - 사파리
- Trident - 익스플로러
- EdgeHTML - 마이크로소프트 엣지
파싱과 DOM 트리 구축
브라우저는 서버로부터 HTML 문서르 모두 전달 받음
HTML 문서를 파싱하고, 파싱 트리를 생성
파싱 트리를 기반으로 DOM 요소와 속성 노드를 가지는 DOM 트리를 생성

CSS 파싱과 CSSOM(CSS Object Model) 생성
JAVAScript 파싱
렌더 트리 (DOM + CSSOM) 생성
렌더 트리 배치
렌더 트리 기리기
렌더링을 모두 마친후 특정 액션이나 이벤트에 따라 HTML 요소의 크기나 위치 등의 레이아웃 수치가 변하면 해당 요소의 영향을 받는 자식 노드나 부모 노드들을 포함하여 Layout과정 (Reflow)과정을 다시 수행
각 요소의 크기 위치를 다시 계산하는 과정 Reflow
Reflow된 렌더 트리를 다시 그리는과정 Repaint라고 한다.
참고 사이트
https://velog.io/@thyoondev/%EC%9B%B9-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%9D%98-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90
https://d2.naver.com/helloworld/59361