[WEB] SSR과 CSR 차이점
글 작성자: 망고좋아
반응형
🎯 SSR과 CSR 차이점
- Server Side Rendering, Client Side Rendering에 대해 알아보자!
📝 Server Side Rendering
📕 Server Rendering
- React, Vue, Angular 등 자바스크립트 프레임워크가 나오기 이전 초기 웹 환경에서는 모든 페이지를 서버에서 빌드했다.
- 클라이언트는 별도의 처리 없이 웹페이지 노출
- 이를 Server Rendering이라고 한다.
- 즉, 서버에서 페이지를 렌더링 해준다.
📕 Server Side Rendering
- Server Rendering을 MPA(Multi Page application)라고 부른다.
- 서버에서 자바스크립트를 이용해 페이지를 미리 빌드한다.
- 컴포넌트 생성에 필요한 API 요청, routing, redux store 생성 등을 처리한다.
- 클라이언트는 빌드된 페이지와 자바스크립트를 받아 웹앱을 CSR처럼 동작하게 한다. ⇒
hydration
- 이런 특징으로 Universal Rendering이라고도 한다.
📕 SSR의 장점
- Crawler는 페이지를 Indexing 하기 위해 페이지에 관한 많은 정보가 필요하다.
- SSR을 활용하여 미리 페이지를 빌드하면 Crawler에게 많은 정보를 줄 수 있다. ⇒ SEO(Search Engine Optimization)에 유리
📕 SSR의 단점
- CSR에 비해 TTFB에 불리
- 별도의 서버를 유지하는 비용
- Static rendering보다 CDN Caching에 불리
📕 SSR의 페이지 로드 방식
- 유저가 빠르게 페이지의 내용을 볼 수 있도록 HTML을 미리 빌드하여 FCP 등의 키 메트릭을 개선할 수 있다.
- 서버 자원을 활용하여, 초기 큰 성능이 필요한 페이지 등을 빌드하는 데 활용한다.
📝 Client Side Rendering
- Ajax 등의 기술, 자바스크립트 프레임워크를 활용하여 데이터를 받아 자바스크립트로 페이지를 동적으로 만들 수 있게 되었다.
- 데이터는 XML, JSON 형태로 클라이언트에 전송한다.
- 이를 CSR(Client Side Rendering)이라고 한다.
📕 CSR의 장점
- CSR은 자바스크립트만으로 완전히 페이지를 만들 수 있다.
- 자바스크립트를 최대한도로 활용하여 HTML, CSS를 동적으로 생성할 수 있다.
- 컴포넌트 단위로 코드를 나누고, 다양한 디자인 패턴을 적용하는 등, 클라이언트 개발의 수준을 한 단계 끌어올릴 수 있다.
- Full page load 없이 라우팅(로딩이 없다 ⇒ 사용자 경험 상승)
📕 CSR의 단점
- 자바스크립트 코드가 많으면 앱 로딩이 느려진다.
- SEO가 좋지 않음!!!!!!
- crawler가 서버에서 페이지 요청해서 html만을 읽어서 페이지에 어떤 정보가 있는지 확인하고 db에 저장하고 유저가 검색하면 db에서 정보를 꺼내 준다.
- CSR경우 브라우저에서 페이지를 만들기 때문에 초기에 정보가 많이 없다. 그래서 SEO가 좋지 않다.
📕 CSR의 페이지 로드 방식
반응형
'프로그래밍 > etc' 카테고리의 다른 글
[WEB] 성능 측정 키 메트릭 (0) | 2022.01.19 |
---|---|
[Sass] Sass 맛보기 (0) | 2022.01.11 |
[Prettier] Delete `␍`eslintprettier/prettier 오류 해결 방법 (0) | 2021.12.01 |
[Prettier] Prettier 설치하기, 설정 방법 (0) | 2021.12.01 |
[ESLint] ESLint 설치하기, 설정 방법 (0) | 2021.12.01 |
댓글
이 글 공유하기
다른 글
-
[WEB] 성능 측정 키 메트릭
[WEB] 성능 측정 키 메트릭
2022.01.19 -
[Sass] Sass 맛보기
[Sass] Sass 맛보기
2022.01.11 -
[Prettier] Delete `␍`eslintprettier/prettier 오류 해결 방법
[Prettier] Delete `␍`eslintprettier/prettier 오류 해결 방법
2021.12.01 -
[Prettier] Prettier 설치하기, 설정 방법
[Prettier] Prettier 설치하기, 설정 방법
2021.12.01