yessssssssssol.log
로그인
yessssssssssol.log
로그인
[기초] CSR&SSR, SPA&MPA
Hailey
·
2022년 8월 2일
팔로우
0
js
0
[Front-end] Computer Science
목록 보기
8/21
✓ 페이지 구성 방식 ⇒ 렌더링 방식
SPA(Single Page Application) ⇒ CSR
ajax가 등장하면서 원하는 부분만 클라이언트에서 동적으로 갈아끼울 수 있고 화면 깜빡임도 없는 SPA를 사용하게 됨
react, angular, vue
MPA(Multi Page Application) ⇒ SSR
php, jsp
1️⃣
CSR(Client Side Rendering)
초기 로딩 속도가 느리지만,이후 구동 속도는 빠름
빈 뼈대만 가지고 있기 때문에 SEO에 불리
Googlebot은 JS 읽을 줄 앎 ⇒ 하지만 완벽하지 않음
장단점
장점
화면 깜빡임이 없음
초기 로딩 이후 구동 속도가 빠름
TTV와 TTI 사이 간극이 없음(사용자가 보는 시점과 사용자가 이용할 수 있는 시점 같음)
서버 부하 분산
단점
초기 로딩 속도 느림
SEO에 불리함
단점 보완
code splitting, tree-shaking, chunk 분리 ⇒ JS 번들 크기를 줄여서 초기 로딩 속도 보완
pre-rendering(라이브러리, 웹팩을 통해 미리 생성) ⇒ SEO개선
SSR과 SSG 도입
프레임워크 없이 하는 방법 ⇒ node.js express nest 등을 활용 → 진입장벽이 있음
프레임워크 사용 ⇒ CSR에 비해 코드 복잡도↑, 블랙박스 영역 존재
react ⇒ next.js(페이지별로 SSR, SSG선택 가능), Gatsby(SSG에 최적화, 다양한 플러그인)
angular ⇒ universal(Angular4부터 코어 모듈에 포함)
vue ⇒ Nuxt(Next.js에 영감을 받았음)
2️⃣ SSR (Server Side Rendering)
요청할 때, 즉시 만드니까 데이터가 자주 바뀌어서 미리 만들어 두기 어려운 페이지에 적합
SEO에 유리
초기 구동 속도가 빠름, 하지만 JS 로직이 모두 연결될 때까지 사용자의 반응을 입력받지 못 함
장단점
장점
초기 구동 속도가 빠름
SEO에 유리함
단점
화면 깜빡임이 있음
TTV와 TTI 사이 간극이 있음
서버 부하가 있음
3️⃣ SSG (Static Site Rentering)
요청할 때, 페이지를 응답하니까 페이지들을 서버에 모두 만들어둔 후 바뀔 일이 거의 없는 페이지에 적합
4️⃣ CSR + SSR ⇒ Isomorphic App, Universal Rendering
서버와 클라이언트에서 모두 같은 코드로 돌아감
초기 로딩 속도 보완
SEO 개선
CSR의 장점
✓ 무엇을 사용해야 할까?
유저랑 상호작용이 많음, 대부분 고객 개인 정보로 이루어진 페이지 ⇒ CSR
회사 홈페이지, 누구에게나 항상 같은 내용, 매주 업데이트 함 ⇒ SSR
회사 홈페이지, 누구에게나 항상 같은 내용, 업데이트 거의 안함 ⇒ SSG
사용자에 따라 페이지 내용이 다름, 빠른 인터랙션이 중요, 상위 노출되면 좋음 ⇒ CSR+SSR
참고 영상
Hailey
팀에서 꼭 필요한 프론트엔드 개발자가 되고 싶습니다.
팔로우
이전 포스트
[JS] IIFE(즉시 호출 함수 표현식)
다음 포스트
[JS] JavaScript와 ECMAScript
0개의 댓글
댓글 작성
관련 채용 정보