[FE 지식] CSR과 SSR

LeeHanna·2021년 9월 8일
0

FE 지식

목록 보기
1/4
post-thumbnail

브라우저 렌더링 방식인 CSR과 SSR에 대해 알아보자!
먼저, CSR과 SSR을 알기 이전에 SPA와 MPA가 무엇인지 알아야 한다.

SPA와 MPA는 무엇일까?

SPA (Single Page Application)


  • 하나의 HTML 파일을 기반으로 자바스크립트를 이용해 동적으로 화면의 컨텐츠를 바꾸는 방식의 웹 어플리케이션

MPA (Multiple Page Application)


  • 사용자가 페이지를 요청할 때마다, 웹 서버가 요청한 UI와 필요한 데이터를 HTML로 파싱해서 보여주는 방식의 웹 어플리케이션이다.

전통적인 방식을 이용하면 SPA가 사용하는 렌더링 방식이 CSR이고 MPA가 사용하는 렌더링 방식이 SSR이다. 그렇다면 CSR과 SSR이 무엇인지 알아보자.

CSR (Client Side Rendering)


Untitled

출처 : https://medium.com/walmartlabs/the-benefits-of-server-side-rendering-over-client-side-rendering-5d07ff2cefe8

  • CSR에서는 브라우저가 서버에 HTML과 JS파일을 요청한 후 로드되면 사용자의 상호작용에 따라 JS를 이용해서 동적으로 렌더링 시킨다.

👍 장점

  • 첫 로딩만 기다리면 동적으로 빠르게 렌더링 되기 때문에 사용자 경험(UX)가 좋다.
  • 서버에게 요청하는 횟수가 훨씬 적기 때문에 서버의 부담이 덜하다.

👎 단점

  • 모든 스크립트의 파일이 로드될 때까지 기다려야 한다.
    ☝🏻 리소스를 청크(Chunk) 단위로 묶어서 요청할 때만 다운받게 하는 방식으로 완화시킬 수 있지만 완벽히 해결할 수는 없다.

  • 검색 엔진의 검색 봇이 크롤링을 하는데 어려움을 겪기 때문에 검색엔진 최적화의 문제가 있다.
    ☝🏻 구글 봇의 경우는 JS지원하나, 다른 검색엔진의 경우 그렇지 않기 때문에 문제가 된다.

SSR (Server Side Rendering)


Untitled

출처 : https://medium.com/walmartlabs/the-benefits-of-server-side-rendering-over-client-side-rendering-5d07ff2cefe8

  • SSR에선 브라우저가 페이지를 요청할 때마다 해당 페이지에 관련된 HTML, CSS, JS 파일 및 데이터를 받아와서 렌더링을 시킨다.

👍 장점

  • 초기 로딩 속도가 빨라 사용자가 컨텐츠를 빨리 볼 수 있다.
  • JS를 이용한 렌더링이 아니기 때문에 검색엔진 최적화가 가능하다.

👎 단점

  • 매번 페이지를 요청할 때마다 새로고침 되기 때문에 사용자 경험이 SPA에 비해 좋지 않다.
  • 서버에 매번 요청을 하기 때문에 서버의 부하가 커진다.

출처 : https://github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/frontend/csr-ssr.md

0개의 댓글