티스토리 뷰

IT/WebB

AJAX

리쫑v 2014. 3. 17. 16:46

AJAX란 무엇인가.


Asynchronous Javascript and XML

 = 비동기 자바스크립트 와 XML


웹서버와 비동기적으로 데이터를 교환하기 위해 필요한 기술의 모음. 정도로 이해하면 되겠다.


여기서 의문점 세가지를 짚어보자.

1. 왜 비동기인가.

2. 왜 자바스크립트인가.

3. 왜  XML인가.


우선 동기방식 처리란 FIFO방식으로 먼저 진행중인 프로세스가 끝나기 전에 다른 프로세스를 진행할 수 없다. 비동기는 anti-동기 방식으로 다른프로세스가 진행중이던 말던 여러 프로세스를 진행할 수 있다는 뜻이다. 이 방식을 통해 더 빠른 웹 반응속도를 얻을 수 있는 장점이 있다고 볼 수 있다.

왜 자바스크립트를 사용하는가, 하면 JS는 클라이언트에서 동작하기 때문에 서버에 부하를 주지 않는다. PC사양이 높아진 요즘엔 서버에서 계산해서 넘겨주는 것 보다, 클라이언트에서 계산을 하고, 필요한 요소들만 서버에서 제공받는 것이 경제적인 선택이다.

왜 XML일까?

XML이 뭐냐면 Extensible Markup Language 라고 한다. 확장 마크업 언어 로 해석할 수 있는데, 자료를 보내기 위한 규약 언어 정도로 생각하면 된다. XML의 설계목표인 단순성, 일반성, 인터넷을 통한 사용가능성을 충족한다는 가정 하에 서버와 통신하는 좋은 답중 하나였기 때문에 XML을 사용한 것으로 보인다.


자 그럼 AJAX를 통한 웹페이지와 와 비교되는 개념이 무었인지 생각해보자.

일반적으로 웹브라우저에서 index.html이든 .php든 접근을하면 GET 요청을 하게된다. 여기서 그안에 있는 링크를 누른다면? 그때 또 GET 혹은 POST 요청을 보내게 된다.

그러니까 매번 페이지를 요청한다는 이야기다.

반면 AJAX는 index.html을 받아오고 나서, 그안에 있는 JS를 통해 XMLHttpRequest()객체를 생성한다. 이후 페이지 안에서 유저의 입력은 JS로 처리되고 서버에서 필요한 요소가 생겼을때 위 객체를 통해 서버와 통신하게 된다.

즉 페이지를 새로 불러오지 않는다는 이야기이다. 일종의 소켓개념으로 생각해도 되겠다.



자 그럼 어떻게 사용하는걸까?

콘솔을 열고 new XMLHttpRequest()를 하면 XMLHttpRequest 객체가 생성되고 이 객체에 onreadystatuschange 속성을 이용해서 여러가지 처리를 하면 된다.

IE는 XML ActiveX 모듈을 사용하면 된다.


사용 예제는 MDN을 참조하면 좋다.

https://developer.mozilla.org/ko/docs/AJAX/Getting_Started

역시 MDN 짱짱맨

'IT > WebB' 카테고리의 다른 글

RequireJS  (0) 2015.12.08
JQuery Plugin - Context Div  (0) 2014.05.29
Closure가 무엇인가  (0) 2014.05.29
Javascript 상속-함수를 사용한 방식  (0) 2013.08.05
SMARTY(스마티) 템플릿  (0) 2013.07.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함