직독 하자면 "하나의 페이지로 구성된 어플리케이션" 이다.
그래서 그게 무슨 말인지 알아보려면 SPA와 반대되는 개념인 MPA(Multi Page Application)을 알아야한다.
MPA는 여러개의 HTML 페이지를 사용하는 전통적인 웹 어플리케이션이다.
MPA의 각 페이지는 로드과정에서 전체 페이지를 서버에 요청하여 로드한다. 그 과정에서 로딩시간이 길어지고 데이터가 많아질 수록 느려지는 단점이 있다.
이런 부분을 보완하는 방식이 SPA이다.
서버로부터 완전한 새로운 페이지를 불러오지 않고 페이지를 동적으로 화면을 바꿔가며 보여주는 웹 애플리케이션이다.
SPA는 최초 로딩 이후 서버에 매번 새로운 페이지를 불러오는게 아닌 동적으로 필요한 부분만 다시 작성한다.
이 부분에서 SPA의 장점이 나타난다.
하지만 명확한 단점도 존재하기 때문에 무조건적으로 SPA가 MPA보다 나은 선택은 아니다.
SPA에서 페이지 전환할 때 자바스크립트에서 HTML 5의 History API를 사용한다.
자바스크립트에서 History API를 이용하면 현재 페이지 내에서 화면 이동이 일어난 것처럼 작동하게 해줍니다.
▼History API 정보
https://developer.mozilla.org/ko/docs/Web/API/History
History - Web API | MDN
History 인터페이스는 브라우저의 세션 기록, 즉 현재 페이지를 불러온 탭 또는 프레임의 방문 기록을 조작할 수 있는 방법을 제공합니다.
developer.mozilla.org
오늘도 긴 글 읽어주셔서 감사합니다 ^^
-현고미 올림-
[Main] React CSS 적용하는 3가지 방법 (0) | 2023.08.03 |
---|---|
[Main] React 기초 - JSX란? (0) | 2023.07.24 |
[Main] React 설치시 폴더 구성 (0) | 2023.07.19 |
[Sub] 바벨(Bable.js)이란? (0) | 2023.07.18 |