단일 페이지 어플리케이션이다. 리액트, 뷰, 앵귤러가 SPA에 해당된다.
SPA는 기본적으로 단일 페이지로 구성되며 기존의 서버 사이드 렌더링(SSR)과 비교할 때 배포가 간단하며 네이티브 앱과 유사한 사용자 경험을 제공할 수 있다는 장점이 있다.
사용자 경험 향상이 SPA의 핵심 가치이다.
SPA가 언급되면 꼭 알아야하는게 CSR과 SSR이다.
클라이언트 쪽에서 렌더링하는 것이다. SPA가 CSR에 속한다.
기본적으로 웹 애플리케이션에 필요한 모든 정적 리소스를 최초 접근시 단 한번만 다운로드 한다.
이후 새로운 페이지 요청 시, 페이지 갱신에 필용한 데이터만을 JSON으로 전달받아 페이지를 갱신하므로 전체적이 트래픽을 감소시킬 수 있다.
전체 페이지를 다시 렌더링하지 않고 변경되는 부분만을 갱신하기 때문에 새로고침이 발생되지 않는다.
[장점]
[단점]
서버 쪽에서 렌더링하는 것이다. 일반적인 웹으로 생각하면 될 것 같다.
브라우저에 나타나는 형태 그대로를 HTML로 만들어서 클라이언트로 넘기고, 브라우저는 그 HTML을 표시하는 방식이다.
이 방식이 일부 HTML, Script만 브라우저로 전달하고, 브라우저에서 Script를 실행시켜 서버에서 데이터를 조회하여 HTML을 생성하는 방식으로 사용되었다. (CSR로 바꼈다는 의미)
요즘은 웹에서 제공되는 정보가 많아서 요청할때마다 페이지를 서버쪽에서 리소스 받아서 해석하고 화면에 렌더링 하는 것이 비효율적이다. 불필요한 트래픽도 낭비된다.
[장점]
[단점]