SPA (Single Page Application)
1개의 Page로 구성된 Application이다.
웹 어플리케이션에 필요한 모든 정적 리소스를 처음 실행할 때 한 번에 모두 서버로 부터 받아온다.
이후 새로운 페이지 요청이 있을 경우, 페이지 갱신에 필요한 데이터만 서버로부터 받아와 페이지를 부분적으로 업데이트하는 방식이다.
정리: 웹 에플리케이션에 필요한 모든 정적 리소스를 최초 한 번에 다운로드한다.
SPA를 CSR(Client Side Rendering) 방식으로 렌더링한다고 말한다.
장점
단점
Low SEO
index.html에 들어있는 정보로 web crawler가 크롤링을 하는데, CSR에서 사용되는 HTML body는 대부분 텅 비어있기 때문에 SEO가 좋지 않다.
Initial Loading이 매우 길다.
MPA (Multiple Page Application)
여러 개의 Page로 구성된 Application이다.
브라우저 주소 창에 주소를 입력하거나, 링크를 클릭하는 등 사용자가 어떤 요청을 하면, 그에 맞는 정적 리소스(html 문서, 이미지) 등의 파일을 서버로부터 받아온 후 전체 페이지를 다시 렌더링하는 방식이다.
정리: 새로운 페이지를 요청할 때마다 정적 리소스가 다운로드된다. 매번 전체 페이지가 다시 렌더링 된다.
MPA를 SSR(Server Side Rendering) 방식으로 렌더링한다고 말한다.
장점
검색엔진최적화 (Search Engine Optimization, SEO) 관점에서 유리하다.
: 이미 완성된 형태의 HTML 파일을 서버로부터 받기 때문에 검색엔진이 페이지를 크롤링하기에 적합하다.
크롤링(crawling)
Initial Loading이 매우 짧다.
단점