자바스크립트를 이용하여 브러우저가 서버에 비동기 방식 으로 데이터를 요청하고, 서버가 응답한 데이터를 수신하여 웹 페이지를 동적으로 갱신하는 프로그래밍 방식을 의미한다. Ajax 는 브라우저에서 제공하는 Web API 인 XMLHttpRequest 객체를 기반으로 동작한다. XMLHttpRequest 는 HTTP 비동기 통신 을 위한 메서드와 프로퍼티를 제공한다.
1999년 MS에서 개발한 XMLHttpRequest는 주목받지 못하다가, 2005년 구글 맵스 를 통해 웹 애플리케이션 개발 프로그래밍 언어로서 자바스크립트의 가능성을 보여주었다. 웹 브라우저에서 자바스크립트 와 Ajax 를 기반으로 동작하며 뛰어난 퍼포먼스 와 좋은 유저경험 을 보여준 것이다.
이전의 렌더링 방식은 html 태그로 시작해서 끝나는 완전한 html 을 서버에서 받아와 요청을 주고 받을 때 전체를 처음부터 다시 렌더링 하는 방식으로 동작했다.(Static Sites 방식) 이는 사용자에게 블링킹 이슈 나 전체를 받고 오기 때문에 불필요한 데이터 통신 이 발생한다. 또한 클라이언트와 서버와의 통신이 동기 방식 으로 동작하기 때문에 서버로부터 응답이 있을 때까지 다음 처리는 블로킹 된다.
서버로부터 웹 페이지의 변경에 필요한 데이터 만 비동기 방식 으로 전송받아 웹 페이지에서 변경할 필요가 있는 부분 만 렌더링하는 방식이 가능하다. 이는 곧 불필요한 데이터 통신이 발생하지 않는 다는 것이다. 이러한 기술로 브라우저에서도 데스크탑 애플리케이션과 유사한 빠른 성능 과 블링킹 이슈 해결과 동시에 클라이언트와 서버와의 통신이 비동기 방식 으로 동작하기 때문에 서버에게 요청을 보낸 이후로 블로킹이 발생하지 않는다.