반응형

 

MPA(Multi-Page Application)란?

     페이지가 여러 개로 구성되어 있고, 사용자가 어떤 링크를 클릭하면 브라우저가 서버에 새 HTML 페이지를 요청하고,

     전체 페이지를 새로 로드한다. (각 페이지마다 별도의 HTML, CSS, JS 파일이 있음)

 

[작동 방식 ⚙️]
1) 사용자가 만약 /about을 클릭하면,
2) 브라우저는 서버에 /about 요청을 보내고,
3) 서버는 완전히 새로운 HTML 페이지를 다시 보냄.
4) 기존 페이지는 새로고침되고, 새로운 페이지가 열림.

MPA의 장단점은 뭘까?

 

장점 단점
- SEO에 유리 (서버가 완성된 HTML을 보내주기 때문에 크롤링 쉬움)  - 페이지 이동 시 전체 새로고침 => UX 저하
- 간단한 구조 (전통 방식이라 이해하기 쉬움) - 개발 시 중복 코드가 많아질 수 있음
-페이지가 완전히 분리되어 있으므로 보안상 이점이 있음 - 클라이언트 측 동적 인터랙션 구현이 복잡

SPA(Single Page Application)란?

     하나의 HTML 파일로 구성되어 있고, 최초 로딩 시 모든 JS, CSS, HTML을 로드한다.

     사용자가 이동하는 페이지는 사실 컴포넌트 단위의 동적 화면 전환으로, 페이지 전환처럼 보이지만 실제로는 전체 페이지 리로드가 없다.

 

[작동 방식 ⚙️]
1) /about을 클릭하면,
2) 브라우저는 서버에 HTML을 요청하지 않음.
3) 자바스크립트가 내부적으로 URL을 변경하고, 필요한 데이터만 비동기로 불러와서 화면을 동적으로 렌더링

SPA의 장단점은 뭘까?

장점 단점
- 빠른 사용자 경험 (페이지 전환 시 부드럽고 빠름) - 초기 로딩 속도가 느릴 수 있음 (전체 JS 파일을 다 받아오기 때문)
- 클라이언트에서 다양한 동작을 할 수 있어 앱처럼 사용 가능 - SEO 불리
   (크롤러가 자바스크립트를 제대로 실행하지 못하는 경우가 있음)
     → SSR or SSG로 해결
- 컴포넌트 재사용성 ↑ → 유지보수 효율 ↑ - 복잡한 상태 관리 필요
   (라우팅, 인증 등 모두 클라이언트 측에서 처리)

MPA와 SPA 요약 비교 🔍
항목 MPA SPA
페이지 수 여러 개 한 개
새로고침 매번 새로고침 없음 (동적 렌더링)
SEO 좋음 나쁨 (대체 기술 필요)
속도 느릴 수 있음 (전환 시) 빠름 (전환 부드러움)
구현 복잡도 낮음 상대적으로 높음
사용 기술 전통적인 서버 렌더링 프론트엔드 프레임워크 중심 (React 등)

 

반응형

+ Recent posts