서버사이드 렌더리은 웹 브라어주에서 리액트를 불러와 컴포넌트를 렌더링하는 것이 아니라, 서버에서 미리 렌더링하여 HTML을 생성한후 웹 브라우제 전달하는 것이다. 이때 웹 브라우저는 자바스크립트를 호출할 떄 처음부터 렌더링하는 것이 아니라, 기존에 렌더링된 결과를 유지하면서 필요한 이벤트를 적용한다.
1. 문제점
- 자바스크립트가 실행되지 않기 떄문에 검색 엔진에서 제대로 페이지를 수집할 수 없다.
- 자바스크립트 파일을 모두 불러올 떄까지 페이지는 비어 있는 상태를 보여준다.
2. 서버사이드 렌더링의 단점
- 서버의 자원이 소모된다. 서버가 저사양일떄는 서버사이드 렌더링 구현을 권장하지 않음
- 서버에 유저 유입이 순간적으로 늘어나면 서버 선능에 무리가 갈 수있으므로, 동일한 페이지는 특정 기간 동안 캐싱하여 성능을 최적화할 필요가 있다.
- 검색봇은 처음들어오는 유저와 동일하므로 개인화된 데이터(로그인 상태일때)는 서버사이드 렌더링을 하지않는것이 적합하다.
- 서버사이드 렌더링을 구현하는 것은 구조가 꽤 복잡하다. 단순히 문자열로 렌더링하는 것은 쉽지만 라우터와 연동하고 리덕스도 사요앟면서 API를 활용할 떄, 미리 호출하고 코드 스플리팅도 제대로 작동시키려면 다양한 것을 준비해야 한다.
책은 CRA V1 이지만 실습환경은 CRA V2 이므로 추후 다른 실습할때 적용해보겠습니다.
반응형
'WEB > REACT' 카테고리의 다른 글
21. CRA V2 (create-react-app) sass-loader 경로 패치 (0) | 2019.07.19 |
---|---|
19. [토이프로젝트 따라하기] 코드스플리팅 (0) | 2019.07.19 |
18. [토이프로젝트 따라하기] "/" 방문시 동작되는 방식 (0) | 2019.07.18 |
17. [토이프로젝트 따라하기] 블로그-2 (0) | 2019.07.16 |
16. [토이프로젝트 따라하기] 블로그-1 (0) | 2019.07.15 |