SPA에 대해

송승찬·2020년 9월 4일
0

TIL

목록 보기
17/52
post-custom-banner

MPA(멀티 페이지 애플리케이션)와 SPA(단일 페이지 애플리케이션)

공통점

  • 처음 페이지 로드시, 클라이언트 -> 서버로 요청해서 HTML파일 받아와야

차이점
MPA

  • 페이지 이동시마다(전환요청시마다) 클라이언트->서버의 요청을 통해 받아온 HTML을 reload

SPA

  • 페이지 이동시에 서버로의 요청을 필요X
  • 페이지 전환은 자체적으로 Routing처리 가능
  • 필요한 데이터 있을 시에만 서버에 데이터 요청

SPA 가능하려면

  1. 자바스크립트에서 브라우저에 페이지 전환 요청 보낼 수 있어야
  • 브라우저는 서버에 페이지 전환 요청 보내서는 안된다.)

2.브라우저의 뒤로 가기 같은 사용자 요청에 대해 자바스크립트가 처리 가능해야 한다.

  • 이 때도 브라우저는 서버로 요청을 보내서는 안된다.

페이지 이동 발생시,JS<->브라우저간의 이벤트 발생을 전달,단 어느쪽이건 서버로 페이지 이동 요청을 보내서는 안 된다.

위 조건을 만족시키는 브라우저 API

  • JS가 브라우저에게 페이지 이동 알려주는 pushState
  • 브라우저가 JS에게 페이지 이동 이벤트 발생 알려주는 popState가 존재한다

리액트에서는 어떻게 SPA를 이용할 것인가

  • react-router-dom을 사용
  • 많은 부가기능과 코드 spliting을 가능하게 해줌(페이지 별로 나눠서)
profile
superfly
post-custom-banner

0개의 댓글