전통적인 과거의 웹 사이트는 문서 하나에 전달되는 파일의 용량이 작았음
→ 어떤 요소를 한 번 클릭하면 Server에서 완전히 새로운 페이지를 전송 (용량이 작았기 때문에 부담X)
→ SSR(Server Side Rendering, 서버 사이드 렌더링) 방식
으로 화면에 보여질 리소스를 Server로 요청하고, 받아와서 렌더링
하지만! 시간이 흘러 웹 사이트가 고도화되어 한 페이지 각각의 용량이 커졌고, 매번 새로운 페이지를 전달하는 것이 점점 버거워짐
이러한 문제를 해결하기 위해 SPA
등장!
SPA는 'Single Page Application'
의 약자, 단일 페이지로 구성된 웹 애플리케이션
기존 SSR방식
과 다르게 렌더링 역할을 서버에게 넘기지 않고 브라우저에서 처리
웹 애플리케이션에 필요한 모든 정적 리소스를 최초로 한번 받고, 이후 새로운 페이지 요청 시 페이지 갱신에 필요한 데이터만을 전달받아 페이지 갱신
Angular
, React
, Vue
→ 모두 SPA를 쉽고 확장성 있게 구현하는 것을 목표로 함