single Page Application의 약자로써 하나의 페이지로 이루어져있는 애플리케이션을 뜻합니다.
대표적으로React, Vue, Angular
가 있어요
- 요청 : 클라이언트(브라우저)에서 네모를 눌러 서버에 응답을 요청합니다.
- 생성 : 서버(웹서버)에서는 요청에 따라
새로운 html 파일
을 만듭니다.- 응답 : 새로 만든 html 파일을 클라이언트(브라우저)에게 보내줍니다.
이 웹 서비스는 최초 보여줬던 페이지 이외에도 새롭게 서버가 생성한 페이지가 존재합니다. 따라서 여러 페이지(Multi Page)로 이루어진 애플리케이션이 MPA
입니다.
브라우저의 렌더링
이라고 합니다.SPA(Single page Application)
이란 하나의 html 페이지로 이루어진 애플리케이션을 의미합니다.
- 요청 : 클라이언트가 특정 UI요소(그림에서 파란색 네모)를 클릭할 때, 서버에 데이터를 요청합니다.
- 응답 : 서버는 클라이언트의 요청을 처리한 후 필요한 데이터를 JSON 형태로 클라이언트에게 전송합니다.
- 렌더링 : 응답 받은 JSON 데이터는 클라이언트의 JavaScript가 처리하고, 이를 기반으로 DOM을 업데이트하여 사용자 인터페이스(UI)에 반영합니다.
결과 : 우리가 보는 페이지에서는 빨간색으로 변경하는 과정!
MPA : 페이지를 이동할 때마다 서버에서 새로운 HTML 페이지를 받아옵니다. (전체 페이지를 다시 로드)
SPA : 페이지를 이동할 때 JavaScript를 통해 현재 페이지를 동적으로 변경합니다. (부분만 업데이트)