

초창기의 웹은 일부분만 바뀌면 되는 경우에도 매번 새 페이지가 로드되는 방식이어서 효율적이지 않고 사용자에게도 좋지 않은 경험을 주었다. 그래서 2000년대 초부터는 웹의 이런 단점을 극복하기 위해서 AJAX라는 기술이 도입되었다.
AJAX는 Asynchronous JavaScript And XML의 줄임말이다.
한마디로 자바스크립트를 사용해서 비동기적으로 리퀘스트를 보내고 리스폰스를 받는데 기반이 되는 기술들의 집합을 의미한다. 즉, AJAX는 웹 브라우저가 현재 페이지를 그대로 유지한 채로 서버에 리퀘스트를 보내고 리스폰스를 받아서, 새로운 페이지를 로드하지 않고도 페이지에 변화를 줄 수 있게 해주는 기술이다.
여기서 XML은 AJAX라는 용어가 생겨난 당시에 가장 많은 인기를 누리던 데이터 타입이다. 요즘은 더 가벼운 용량과 JavaScript의 일부라는 장점 때문에 JSON을 많이 사용한다. JSON과 XML 모두 AJAX에서 정보를 담을 때 사용한다.
AJAX에서 서버와 통신하기 위해 보내는 HTTP 리퀘스트가 기술의 핵심이라고 할 수 있다. 이를 위해서는 기능을 제공하는 객체의 인스턴스가 필요했고, XMLHttpRequest 가 대표적으로 사용된 객체이다.
요즘은 Fetch API나 XMLHttpRequest 를 기반으로 더 쓰기 편하게 만들어진 axios와 같은 패키지를 사용해서 AJAX를 활용하고 있다.