정보제공자, 백엔드
클라이언트가 요청(request)하면 서버는 응답(response)을 해준다.

브라우저에 사이트 주소를 입력
서버는 브러우저에 바이트 스트림(8비트의 데이터 형태)으로 형태로 응답해줌 전달받음
브라우저는 이걸 받고 인코딩함(바이트를 문자로 바꿈)
인코딩방법은 UTF-8 헤드부분에 넣음
토큰화를 하게 되면 오브젝트화시킴(토큰화를 통해 노드 생성). => 이거를 node라고 함
토큰: 태크 속성과 속성 값 등 약속된 여러가지 값들그리고 각각의 노드들을 연결시켜 관계를 설정시킴. 그리고 이 전체적인 것을 DOM 이라고 한다.
node : DOM Tree를 구성하는 하나의 단위
Model: 각각의 node들을 연결시켜 관계를 설정
DOM TREE를 만드는 것이 html의 목표
- DOM은 항상 CSSOM을 기다림
- DOM을 생성할 때 script파일을 만나게 되면 브라우저는 돔 생성을 중단하고 script안에 있는 자바스크립트 코드를 해석함
DOM이 생성되는 방식과 거의 흡사하다.
CSS는 DOM의 생성을 막지 않음
앞서 만들어진 DOM과 계산된 스타일을 따라가면서 요소의 크기나 좌표와 같은 정보를 담은 레이아웃 트리를 만듬
렌더 트리의 각 노드가 화면의 정확한 위치와 크기를 계산한다.
마지막으로 composite단계에서는 앞서 페인트단계에서 만든 레이어를 스크린에 픽셀로 만들고
나누어져있던 레이어를 합치게 된다.
리플로우 리페인트
css속성이 바뀌면 브라우저는 랜더트리를 다시 만듬
항상 리플로우가 실행되진 않는다 리플로우단계를 건너뛰고 페인트로 넘걸수도 있다.
모두 다 건너뜀 ex) transform, opacity gpu가 관여할수 있음
- html을 통해서
DOM생성 + css를 통해서CSSOM을 생성 =>Render Tree생성- Layout( 값들을 측정하는 단계) , paint(측정한 값들을 그린다), composite(여러개의 레이아웃들을 합치는 단계)