Single Page Application의 약자로 단일 페이지로 구성된 웹 애플리케이션을 말한다.
SPA의 등장이전 주로 사용되던 웹 애플리케이션 구성방법인 SSR(Server Side Rendering)의 경우 화면에 보여질 리소스를 서버에 요청하고 받아와 렌더링 했지만, SPA는 첫 페이지를 받아와 렌더링 한 이후로는 렌더링을 브라우저에서 처리하는 CSR방식을 사용한다.
SPA는 서버로부터 첫 페이지만을 받아오고 이후 동적으로 페이지를 구성한다. 데이터를 수정, 조회할 때 페이지를 동적으로 구성하여 페이지가 새로고침 되지 않고 다른 페이지로 넘어가지 않는다.
SPA와 반대되는 MPA는 Multi Page Application의 약자로 여러개의 페이지로 구성된 웹 애플리케이션을 말한다.
동적이지않은 페이지들을 그때그때 상황에 맞춰 서버에 요청하고 정보를 받아 렌더링 해야하기 때문에 SSR방식을 사용한다.
서버로부터 완전한 페이지를 받아오고 이후에 데이터를 수정, 조회할 때 또 다른 완전한 페이지를 받아와 이동한다. 이 때문에 URl이 바뀔 수도 있다.