SPA, MPA, CSR, SSR 그래서 뭐 어떻게 쓰는데?
1. SPA, CSR? 차이점은 뭘까?
- SPA와 CSR은 같은 개념이 아니다. 정확히는 SPA를 구현하기 위해 CSR 방식이 쓰이는 것이다.
- SPA vs MPA 는 애플리케이션 구동을 위해 페이지를 하나만 쓰는지, 여러 개를 쓰는지에 대한 차이다.
- CSR vs SSR 은 페이지의 렌더링이 클라이언트에서 일어나는지, 서버에서 일어나는지에 대한 차이다.
- 따라서 SPA는 첫 페이지만 서버에서 받아오고 이후의 변화는 동적으로 처리하기 위해 CSR 방식을 채택한다.
- 반대로 MPA의 경우 페이지가 달라질 때마다 서버에서 렌더링 된 리소스를 받아오기 위해 SSR 방식을 채택한다.
2. SPA는 CSR로, MPA는 SSR로?
- SPA는 SSR로 구현이 어렵고, MPA는 CSR로 구현이 어렵다.
- 하지만 SPA에서 첫 로딩의 경우에만 SSR을 쓰고, 이후의 요청에 대해서는 CSR 방식을 쓸 수 있다. (Next.js)
- Universal Rendering 을 사용할 경우 초기 HTML이 비어 있지 않아 SEO를 최적화 할 수 있다는 장점이 있다.