AJAX란?
AJAX는 Asynchronous JavaScript and XML의 약자이다. JavScript와 XML을 이용한 비동기적으로 정보를 교환하는 방법, 기술을 의미한다.
AJAX - SPA를 만드는 기술
AJAX를 통해 클라이언트는 필요한 데이터만 서버를 통해 비동기적으로 받고 페이지의 일부만 동적으로 업데이트할 수 있다.
- AJAX가 등장하기 이전에는 웹 브라우저(클라이언트는) 서버로 부터 받은 마크업 데이터 (html)를 브라우저 창에 렌더링하는 일을 했다. (SSR 방식으로 렌더링 된다.)
- 웹 브라우저는 매번 똑같은 페이지를 처음부터 다시 렌더링해야 했고 서버 역시 매번 같은 페이지를 렌더링(이 경우에는 html파일 생성)해야해서 서로 부담이 있었다.
- 이러한 문제를 해결하기 위해 브라우저에서는 비동기 정보 교환 기술을 제공하기 시작했고, 지메일을 계기로 이 기술이 AJAX로 불려지면서 웹 어플리케이션 제작 기술이 발전하게 되었다.
- AJAX는 클라이언트에서 서버에 데이터를 요청 후 응답 받아서 웹 페이지 일부분만 갱신하기 위해서 사용된다.(CSR 방식으로 렌더링 된다.)
- 그래서 페이지가 새로고침 없이 비동기적으로 갱신된다.
- 이때 서버에서 주는 응답은 순수한 데이터 객체 즉, XML또는 JSON데이터이다.
- 현재 AJAX 기술은 웹 사이트를 지탱하는 코어기술이 된지 오래되었다.
- 현대에는 ES2015표준으로 Fetch API가 등장하면서 비동기 방식(Promise)의 Fetch API를 주로 이용하여 AJAX를 구현한다.
Reference
지메일이 핫메일을 이긴 진짜 이유