클라이언트 사이드 렌더링(CSR)
텅 빈 html페이지가 먼저 브라우저에 보내지고 브라우저가 자바스크립트를 받아와 동적으로 렌더링하는 것을 말한다.
<html>
<head>
<title>Single Page Application</title>
<link rel="stylesheet" href="app.css" type="text/css">
</head>
<body>
<div id="app"></div>
<script src="app.js"></script>
</body>
</html>
서버 사이드 렌더링(SSR)
서버로부터 완전한(js포함된) html 파일을 받아와 페이지 전체를 정적인 페이지로 렌더링하는 것을 말한다.
싱글 페이지 어플리케이션(SPA)
CSR을 바탕으로 어플리케이션 생명 주기 중에서 단 한 번만 리소스(HTML, CSS, JavaScript)를 로딩하고, 그 후에는 데이터를 받아올 때만 서버와 통신한다. 정리하자면 첫 요청시 딱 한 페이지만 불러오고 페이지 이동시 기존 페이지의 내부를 수정해서 보여주는 방식이다.
: SPA에서도 CSR을 기반으로 하기 때문에 텅빈 html페이지를 불러오기 때문에 마찬가지로 검색엔진 최적화가 어려우므로 SSR로 해결할 수 있다.