AJAX

AJAX (Asynchronous Javascript And Xml)

 

JS의 라이브러리 중 하나로, 전체 페이지를 고치지 않고도 페이지의 일부만을 위한 데이터를 로딩하는 기법. 자바스크립트를 이용해서 서버에 데이터를 요청하는 것을 말한다. 즉 웹 브라우저에 어떤 요청을 했을때 페이지 전체를 새로고침하는 것이 아닌, 일부를 랜더링하여 뷰를 갱신할 수 있다.

 

 

 

ajax를 사용하는 이유

 

1. 요청이 아닌 응답을 html이 아닌, data(json)을 이용하여 받을 수 있다

회원가입을 서버에 요청했다면, 서버는 정보를 DB에 저장하고 그에 대한 응답을 해주게 되는데, ajax가 없다면 데이터를 이용하는 것이 불가능하다. (만약 서버가 html로만 응답할 수 있다면, 환경에 따른 response의 폭이 좁아지고 한정되기 때문에 유연한 프로그램을 만드는 것이 불가능할 수 있다.)

2. 비동기 통신을 가능하게 한다.

간단하게 response를 기다리지 않고 request를 보낼 수 있도록 한다는 것. 보통 프로그램은 순차적으로 동작한다. 그런데 순차적으로만 동작하면, 동작 과정 중간에 외부와의 통신(다운로드)등의 이유로 진행이 일시중지 될 수 있는데 이러한 경우 사용성이 매우 떨어지게 된다. 이때 비동기 처리는 필요한 부분만 reload해서 별도 쓰레드에 동작을 의뢰하고, 그 동작이 종료 후 콜백하는 과정을 통해서 성능을 향상시킨다.