-
[ReactJS] 서버사이드 렌더링(SSR)과 클라이언트사이드 렌더링(CSR)이란웹 개발/ReactJS 2021. 4. 27. 18:52반응형
랜더링이란 (Rendering)
서버로 부터 받은 내용을 브라우저에 표시함
- Loader 가 서버로 부터 원본 HTML 문서를 읽어들임
- 브라우저는 파싱을 통해 최종적으로 어떤 내용을 페이지에 렌더링할 지 결정한다.
1) DOM 트리 구축
2) CSSSOM 트리 구축
3) JavaScript 실행
- 렌더 트리를 구축
- CSS 설정/레이아웃 위치 지정 후 렌더링 트리가 페인팅된다.
DOM(Document Object Model) : HTML 요소들의 구조화된 표현
CSSOM(Cascading Style Sheets Object Model) : 요소들과 연관된 스타일 정보의 구조화된 표현* DOM이란 무엇인가
seizemymoment.tistory.com/133?category=879018
서버사이드 렌더링(Server Side Rendering)
서버 연산을 통해서 렌더링하고 완성된 페이지 형태로 응답한다.
페이지 이동 시 새로운 페이지를 요청한다.
(장점)
- 검색엔진에 최적화
- HTML이 먼저 렌더링 되기 때문에 성능이 개선된다.
(단점)
- 페이지 요청마다 새로고침이 일어나기 때문에 페이지 이동시 화면이 깜빡 거린다.
- 서버 렌더링에 따른 부하가 발생
클라이언트 사이드 렌더링 (Client Side Rendering)
클라이언트에서 렌더링하는 방식이다.
서버로 부터 데이터를 받아
클라이언트에서 바뀐 데이터가 있는 화면만 새롭게 랜더링함
첫 요청 시에는 한 페이지만 불러옴(reactJS에서는 index.js)
(장점)
- 리로딩 없는 빠른 인터렉션
- 안드로이드, IOS, 웹 모바일 등 다양한 플랫폼이 서버를 공유할 수 있게 되어
효율적으로 서버를 운영할 수 있게 된다.
(단점)
- 초기 구동속도가 느리다
- 검색엔진 최적화가 어렵다.
반응형'웹 개발 > ReactJS' 카테고리의 다른 글
[ReactJS] React state 관리 (0) 2021.05.14 [ReactJS] 리액트의 특징 및 원리 (0) 2021.04.27 [ReactJS] React 기본 코드 구조 및 component 생성 (0) 2021.04.15 [ReactJS] React 배포 (0) 2021.04.14 [ReactJS] npm과 npx의 용어정리 및 차이점 (2) 2021.04.08