PEMPA (Progressively Enhanced Multi-Page Apps)

ref https://www.epicweb.dev/the-webs-next-transition


작동방식

  1. 기본 MPA 아키텍쳐
    • 각 페이지는 서버에서 개별적으로 렌덜잏나다.
    • 사용자가 새로운 페이지로 이동할 때 마다 전체 페이지가 새로 로드된다.
    • 각 요청에 대해, 서버가 HTML 을 생성하고 반환한다.
  2. 점진적 향상
    • 클라이언트 측에서 자바스크립트를 사용하여 페이지 간의 전환을 부드럽게한다.
    • 자바스크립트는 페이지 로드 후 추가기능을 제공하며, 페이지간 전환 시 전체페이지를 새로고침 하지 않고 필요한 데이터만 로드한다.
  3. 페이지 전환
    • 페이지 링크를 클릭하면, 기본적으로 서버 요청을 통해서 페이지가 전환된다.
    • 그러나, 자바스크립트가 활성화 된 경우, 링크 클릭 이벤트를 가로채서(기본동작 방지) ajax 요청을 사용해 필요한 데이터를 서버에서 가온다.
    • 서버는 필요한 데이터를 JSON 형태로 반환하며, 클라이언트 측 자바스크립트가 이를 사용하여 데이터의 특정부분만 업데이트한다.

장/단점

1. 기본동작 방지

2. 커스텀 코드

3. 코드 중복