React를 공부하다가 NextJS를 알게되었고,
"NextJS는 리액트에서 SSR를 사용하려고 쓰는거에요" 하는데 렌더링이 뭔지 먼저 정리를 해야할거같다.
일단 구글에다가 랜더링(Rendering) 용어에 대해 검색해보니
이란다.
(http://www.ktword.co.kr/test/view/view.php?m_temp1=2820)
즉, HTML이랑 CSS랑 Javascript를 이용해서 열심히 내가 막 만든 페이지를 사용되는 각각의 브라우저(크롬,익스플로러,파이어폭스 등등)에 보여지게 하는 것!
그렇다면 랜더링이 어찌되는지 그 과정도 알아볼 필요가 있겠다 싶어서 또 검색!
랜더링은
1. 우선 서버로부터 HTML,CSS,JavaScript파일을 파싱(Parsing)하고, (파싱이 궁금하다면 클릭!)
2. 랜더트리를 생성하고,
3. 각 요소들의 레이아웃을 정하고
4. 계산된 레이아웃에 따라 요소들을 Paint한다.!
기본적인 동작 과정은
1. DOM(Document Object Model), CSSOM(CSS object Model) 생성
서버로부터 받은 HTML과 CSS를 Object Model로 만들고 각각 DOM과 CSSOM으로 만들어준다.