개발 일기

서버사이드 렌더링 VS 클라이언트 사이드 렌더링 본문

TIL(Today I learned)

서버사이드 렌더링 VS 클라이언트 사이드 렌더링

flow123 2021. 9. 25. 00:00

 

오늘은 Jinja 템플릿 엔진을 활용해서 서버사이드 렌더링 하는 법을 배웠다. 

서버 사이드 렌더링이 뭐고, 왜 서버에서 렌더링을 해서 내보내야할까? 

 

클라이언트 사이드 렌더링은 말 그대로 클라이언트 측에서 모든 것을 처리하는 방식이다. 

서버에서 제공하는 HTML 은 거의 빈 화면에 가깝고, 서버로부터 Javascript 를 다운 받아와서 채워넣게 된다. 이 자바스크립트에 앱 로직, 어플리케이션 구동에 필요한 프레임워크 등도 들어있어서 사이즈가 크다. 즉 소요 시간이 많이 걸린다. 이를 기반으로 동적 HTML 을 생성하고 -> 사용자에게 어플리케이션을 보여주게 된다. 

 

그렇기 때문에 단점으로는 

1) 화면 로딩에 시간이 오래 걸린다 2) SEO 퀄리티가 좋지 않다. (검색 엔진에서는 HTML 을 분석하는데, HTML 이 빈화면이기 때문!) 

 

이 단점을 보완하기 위해서 SSR (Server Side Rendering) 이 등장한다. 

 

서버사이드 렌더링은 

 

로딩 속도와 SEO 는 클라이언트 사이드보다 개선되지만, 아래와 같은 단점이 있다. 

(1) 전체 페이지를 받아오기 때문에 화면 깜빡임 이슈 (즉 사용자 경험에 좋지 않다)

(2) 서버에 과부하가 걸릴 수 있다. 특히 사용자가 많을 수록 서버에 요청이 많이 걸리기 때문에 과부하 가능성이 높다. 

 

출처: 드림코딩 https://www.youtube.com/watch?v=iZ9csAfU5Os&t=2s

'TIL(Today I learned)' 카테고리의 다른 글

주간 회고 - 1차 프로젝트  (0) 2021.10.03
14일차  (0) 2021.09.28
6일차  (0) 2021.09.24
1주차 주간회고  (0) 2021.09.20
5일차 - Git 제대로 이해하기, 전략적 학습  (0) 2021.09.18
Comments