SPA(Single Page Application) 하나의 페이지로 구성된 웹 어플리케이션을 뜻한다.
MPA(Multi Page Application) 다중 페이지로 구성된 웹 어플리케이션라는 뜻이다.
MPA는 전통적인 방식의 어플리케이션인데 우리가 웹사이트를 이용할때 페이지를 들어가면 해당 페이지에 나오는 리소스 데이터를 한꺼번에 뭉텅이로 받는다고 생각하면된다. 추가적으로 해당페이지에서 뭔가 수정이 일어나서 페이지가 변화가 생기게 된다면 똑같이 서버에서 데이터를 다시 만들어서 사용자 페이지에 던져주는 방식을 SSR(Server Side Rendering)이라고 한다. 쉽게 말해서 서버에서 처리를 하겠습니다 라고 생각하면 될것 같다.
SPA는 가장 처음 페이지를 로드할때는 서버에서 데이터를 뭉텅이로 받는다. 여기까지는 어떻게 보면 MPA와 비슷하다라고 생각할수 있습니다. 하지만 여기에서 페이지에 어떤 일부분의 수정사항이나 데이터가 변경되는 상황이 발생했다고 한다면 MPA와는 반대로 그 변화가 발생한 데이터만 클라이언트에서 변경을 하는 방식 CSR(Client Side Rendering)이다.
사실 정답은 없다. 상황에 따라 SSR과 CSR을 선택해야합다. 한가지 방법으로는 두가지 모두 사용해서 어플리케이션을 제작할수도 있다. 특정 페이지는 단순한 데이터만 보여주겠다면 SSR을 사용할수 있고 또 특정 페이지는 동적인 변화가 자주 일어난다고하면 CSR방식으로 개발을 해볼수 있다.