SPA는 한개의 페이지로 구성된 어플리케이션, MPA는 여러개의 페이지로 구성된 어플리케이션이다.
SPA는 웹 애플리케이션에 필요한 모든 정적 리소스를 최초 한번에 다운로드한다. 그 이후 새로운 페이지 요청이 있을 경우, 페이지 갱신에 필요한 데이터만 전달받아 페이지를 갱신한다. 모든 페이지를 다시 랜더링하는 것이 아닌 필요한것만 가져와서 랜더링하게 된다. 그래서 SPA를 CSR방식으로 랜더링한다고 한다.
1. SPA는 전체 페이지를 업데이트 할 필요가 없기 때문에 빠르다.
2. 서버의 사용없이도 개발이 가능하다.
3. 로컬 데이터를 효과적으로 캐시 할 수 있다. SPA는 서버에게 정적 리소스를 한번만 요청하고 받은 데이터는 전부 저장해놓는다.
MPA는 새로운 페이지를 요청할 때마다 정적 리소스가 다운로드 된다. 사용자가 어떤 요청을 하게 된다면, 그에 맞는 html, 이미지 등의 파일들이 전부 다운로드 되고 다시 렌더링 된다. 그래서 MPA를 SSR방식으로 렌더링한다고 한다.