JavaScript, DOM, Fetch, XMLHttpRequest, HTML 등의 기술을 사용하는 웹 개발 기법
웹 페이지에서 필요한 데이터만 비동기적으로 받아와 유저의 요구에 따라 변화해야 하는 부분만 렌더링한다.
Fetch
promise
를 지원하고 javascript와 호환되는 JSON
을 사용한다.Javascript와 DOM
Fetch
를 통해 필요한 데이터를 가져와 javascript를 통해 DOM을 조작해 필요한 부분만 변경한다.장점
JSON
등의 텍스트 형태로 보내기 때문에 대역폭(네트워크 통신 한 번에 보낼 수 있는 데이터 크기)이 작다.단점
History API
가 필요하다.브라우저가 서버의 URI로 GET
요청을 보내면 서버에서 웹페이지를 브라우저로 보내기 전에 서버에서 완전히 렌더링한다. 데이터베이스의 데이터가 필요한 경우, 서버가 데이터베이스의 데이터를 불러와 완전히 렌더링 된 페이지로 변환한 후에 브라우저에 응답으로 보낸다.
사용자가 브라우저의 다른 경로로 이동할 때마다 서버는 이 작업을 반복한다.
브라우저가 서버로 요청을 보내면 서버는 웹 페이지의 골격이 될 단일 페이지와 JS만을 클라이언트에게 보내준다. 데이터베이스의 데이터가 필요한 경우, 브라우저가 데이터베이스에 저장된 데이터를 가져와서 웹 페이지에 렌더랭해야 한다. 이 과정은 API 요청으로 이루어진다.
사용자가 브라우저의 다른 경로로 이동할 때에도 서버는 웹 페이지를 다시 보내지 않는다. 브라우저는 맨 처음 서버로부터 받은 웹페이지 파일과 동일한 파일 위에서 페이지를 재 렌더링한다.
Use SSR
Use CSR