본문 바로가기

웹 프로그래밍/JavaScript

[JS] AJAX란?

[동기방식]
request 했을 때 서버로부터 response가 와야 다른 일을 할 수 있다. response가 오지 않으면 대기해야한다.
마우스도 움직이지 않는 형태다.
요청하면 깜빡거린다. 
(네이버를 새로고침 해보자. 전체 화면을 모두 reload 한다.)
respone 할 때 <html> 부터 </html>까지 보낸다. (HTML + CSS data)
그 안에 포함된 이미지 등을 다 보내야하기 떄문에 약간의 지연시간이 있다.


[비동기방식]
AJAX : Asynchronous JavaScript and XML. 비동기 방식의 자바스크립트 XML
요청해도 깜빡거리지 않는다.
(네이버 지도의 화면을 드래그로 끌어보자)
화면의 일부분만 업데이트 한다. 지도 켜면 전국 지도를 한번에 불러오면 아주 비효율적이니까
-화면의 일부분만 수정하기 위해 (XML or JSON data)를 넘긴다.
예 : 댓글 새로고침하면 그 부분만 새롭게 불러온다. 전체 페이지를 새로 reload 하는 게 아니다.
자바스크립트로 request와 response를 클라이언트 대신해준다.
Ajax engine은 웹 브라우저 내에 있다.
백그라운드 방식이다.

 


* AJAX로 복잡하게 썼던 것을 -> jQuery로 쉽게 쓸 수 있음.

회사에서 대부분 ajax를 쓰기 때문에 반드시 알아야 한다.