AJAX란?
- Asynchronous JavaScript and XML
- 자바스크립트 라이브러리 중 하나이며, 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고 페이지의 일부만을 로드하는 기법
- 즉, 자바스크립트를 통해서 서버에 데이터를 요청하는 것(비동기 통신)
- 클라이언트와 서버간에 XML 데이터를 주고받는 기술
- 장점
- 웹 페이지 전체를 다시 로딩하지 않고도, 웹페이지의 일부만을 갱신 할 수 있음
- 즉, 필요한 부분만 불러와 사용할 수 있음 => 웹페이지 속도 향상
- 웹 페이지가 로드된 후에 서버와 데이터를 주고 받을 수 있음
- 서버에서 Data만 전송하면 되므로 전체적인 코딩의 양 감소
- 단점
- 히스토리 관리 안됨
- 보안상 문제
- HTTP 클라이언트의 기능이 한정
비동기 방식
- 웹페이지를 리로드하지 않고 데이터를 불러오는 방식
- Ajax를 통해서 서버에 요청을 한 후 멈추어 있는 것이 아니라 그 프로그램은 계속 구동됨
AJAX를 사용하는 이유
- WEB화면에서 무언가를 부르거나 데이터를 조회하고 싶을 경우, 페이지 전체를 새로고침하지 않기 위해 사용함
- HTTP 프로토콜은 기본적으로 클라이언트쪽에서 Request를 보내고 서버쪽에서 Response를 받으면 이어졌던 연결이 끊어지기 때문에, 화면의 내용을 갱신하기 위해서는 페이지 전체를 갱신하게 됨 => 자원낭비, 시간낭비
- 일부만 갱신할 수 있도록 JSON이나 XML형태로 필요한 데이터만 받아 갱신
참고