Ajax
수정하기
문서 생성 2021-09-13 22:27:00 최근 수정 2021-12-28 15:10:55
Ajax (Asynchronous JavaScript And XML)
Ajax란
- 자바스크립트를 이용해 서버와 브라우저가 비동기로 데이터를 교환할 수 있는 통신 기능이다.
- JSON, XML, HTML, 일반 텍스트 등을 포함한 다양한 포맷을 주고받을 수 있다.
- Ajax의 이름에서 알 수 있듯이, 가장 큰 특징은 비동기성이다.
- 전통적인 웹 통신 방식의 단점
- 변경할 필요가 없는 부분까지 포함된 완전한 HTML을 서버로부터 매번 다시 전송받아서 불필요한 데이터 통신이 발생
- Ajax가 등장하기 전에는 서버로부터 새로운 정보를 받아보려면 새로운 URL을 요청해야 했다. 즉, 브라우저가 웹 서버에 요청을 하려면 페이지를 이동해야만 했던 것. 그래서 화면이 전환되면 순간적으로 깜빡이는 현상이 발생
- 클라이언트와 서버와의 통신이 동기 방식으로 동작하기 때문에 서버로부터 응답이 있을 때까지 다음 처리는 블로킹 된다.
- Ajax를 사용하면 새로운 HTML을 서버로부터 받는 것이 아닌, 동일한 페이지에서 DOM을 변경하게 된다. HTML 페이지 전체를 바꾸는 것이 아닌, 필요한 부분만 바꿀 수 있게 된 것이다.
- Ajax는 서버와 통신을 위해 XMLHttpRequest 객체를 사용한다.
XMLHttpRequest
객체를 통해 웹서버에 요청을 전달하고 웹서버는 처리한 요청을 다시 돌려준다. 그럼 자바스크립트가 해당 응답을 렌더링한다.- 1999년 마이크로소프트가 개발한
XMLHttpRequest
는 그다지 큰 주목을 받지 못했다. 그 후 2005년에 구글이 발표한 구글 맵스를 통해 웹 애플리케이션 개발 프로그래밍 언어로서 자바스크립트의 가능성을 확인하는 계기를 마련했다.