SPA MPA ROUTING

SPA와 MPA 전환 차이

SPA는 한 번 받은 앱이 브라우저 history로 화면을 바꾸고, MPA는 URL 이동마다 서버가 새 문서를 보낸다. 초기 로드, 새로고침, 404, SEO, 캐시, 에러 복구가 어느 쪽에서 처리되는지 보면 두 방식의 실무 차이가 선명해진다.

01

URL 소유 확인

해당 URL을 서버가 직접 문서로 응답하는지, 클라이언트 라우터가 해석하는지 구분한다.

새로고침 동작이 차이를 드러낸다
02

초기 로드 비용

SPA는 앱 JS를 받아야 상호작용이 가능하고, MPA는 문서 단위로 빠르게 보일 수 있다.

hydration이나 bundle 크기를 함께 본다
03

서버 fallback

SPA 배포에서는 깊은 URL 새로고침이 index.html로 돌아가도록 설정해야 한다.

fallback 누락은 운영 404로 나타난다
04

SEO와 공유

검색 노출, SNS 미리보기, 메타 태그가 서버 응답에서 필요한지 판단한다.

클라이언트 렌더만으로 부족할 수 있다
05

오류 복구

JS 로드 실패, API 실패, 라우트 없음, 인증 만료를 어느 계층이 처리할지 정한다.

흰 화면을 피하는 기준이다
SPA
앱 내부 전환 상호작용이 많은 대시보드와 앱형 화면에 유리하다.
초기 번들과 fallback 설정을 본다
MPA
문서 단위 응답 콘텐츠 중심 페이지와 서버 캐시, SEO가 중요한 경우에 단순하다.
전환마다 전체 문서를 받는다
SSR/SSG
혼합 전략 초기 HTML은 서버가 만들고 이후 상호작용은 클라이언트가 맡을 수 있다.
hydration 경계를 확인한다
Fallback
새로고침 안전성 깊은 URL, 404, 정적 호스팅 규칙을 배포 환경에서 확인한다.
로컬 dev server만 믿지 않는다

라우팅 확인

깊은 URL 하위 경로를 직접 열고 새로고침했을 때 의도한 화면이 나오는지 확인한다.
JS 실패 스크립트 로드가 실패했을 때 최소한의 오류 안내가 가능한지 본다.
메타 정보 검색과 공유에 필요한 title, description, canonical이 서버 응답에 있는지 확인한다.