한 개의 페이지로 구성된 어플리케이션 입니다.
웹 어플리케이션에 필요한 모든 정적 리소스를 최초 한 번에 다운로드합니다.
그 후 새로운 페이지 요청을 받을 경우 페이지 갱신에 필요한 데이터만 전달 받아 페이지를 갱신합니다.
SPA가 렌더링하는 방식을 CSR(Client Side Rendering) 이라고 합니다.
SPA의 예시로는 Angular, React, Vue 등이 있습니다.
최초 요청시에 HTML과 CSS등 각종 리소스를 받아옵니다. 이 때 SSR보다 많은 리소스를 요청하기 때문에 렌더링 속도는 SSR이 훨씬 빠릅니다.
이후 다른 페이지로 이동시에는 SSR보다 빠른 페이지 전환 속도와 더 나은 사용자 경험을 제공합니다.
여러 개의 페이지로 구성된 어플리케이션 입니다.
새로운 페이지를 요청할 때 마다 서버에서 렌더링된 정적 리소스(HTML, CSS, JavaScript)가 다운로드 됩니다.
MPA는 SSR(Server Side Application)방식으로 렌더링합니다.
MAP의 예시로는 jsp, php등으로 구축된 웹사이트가 해당됩니다.
많은 웹사이트들은 페이지를 이동할 때 마다 서버에 새로운 페이지에 대한 요청을 하는 SSR방식을 택하고 있습니다.
서버에서 렌더링을 마치고 데이터가 결합된 HTML파일을 내려주는 방식입니다.
SPA방식이라고 해서 모두 CSR인 것은 아닙니다.
Vue를 위해 SSR을 지원하는 프레임워크가 Nuxt.js입니다.