본문 바로가기

카테고리 없음

Ajax란 무엇인가, 어디에 쓰일까



Ajax란

Asynchronous JavaScript and XML의 약자다.


ajax는 자바스크립트 언어에 포함된 API 라이브러리를 말하는데,

비동기방식을 통해 서버와 통신이 가능하다.


비동기란 말이 어려울 수 있는데, 아주 간단한 내용이지만 이해하기가 꽤 난해할 뿐이다.


여태의 웹은 모두 동기식밖에 실행하지 못하였는데,

예를들어 시간을 표시하는 웹사이트가 존재했다고 가정했을때

우린 그 시간을 실시간으로 확인하기위해 1초마다 새로고침을 해야했다.

아주 이해하기 쉬운 단적인 예가 바로 무전기이다.

무전기는 서로 한번씩 주고받는 구조로서, 웹도 마찬가지였기 때문이다.

웹사이트에 접속하면 서버에서 웹에 대한 정보를 받아오는게 전부였으니까.

기존의 웹은 정적인 시스템이었기에 그런거였지만

어찌보면 당연한것이기도 했다.


지금은 기술이 비약적으로 발전하여 웹에서 3D게임도 만드는 시대라 이해가 가지 않을수도 있지만 애초에 웹이란것이 정보를 보여주는게 전부였던 수단이었기때문에 굳이 비동기방식이 필요하지 않았다.


하지만 요즘처럼 시대가 변하고, 웹은 단순히 정보를 공유하는 공간에서 언제부턴가 미디어가 합쳐지더니 요즘은 셀 수 없을만큼 방대한 컨텐츠를 생산할 수 있는 지구의 위대한 발명중 하나가 되었다.


자, 그렇다면 비동기방식인 ajax에 대해 이해해보자.

비동기방식은 무전기에 지나지않고 우리의 일상에 스며들어있는 전화수단을 예로 들 수 있다.

우리는 전화할때 무전기처럼


"연락바란다. 오바"

"연락했다. 오바"

"오늘 저녁은?

... 오바"

"된장찌개다. 오바"

"오늘은 외식하고 들어간다. 오바"


이런식으로 이야기하진 않는다.


"여보세요?"

"오늘 저녁이 뭐..ㅇ...."

"전화해서 한다는소리가 고작 그거냐?"

이런식으로 중간에 끼어들어 말싸움을 조장할수도 있다.

즉, 단순히 주고받는 구조가 아니라는 말이다.

(정말 쉽게 설명하려고 매우 단편적으로 적어놓은것이기때문에 대충 이런거라고 이해하고 지나가면 된다.)



아무튼 이처럼 ajax는 웹에서 새로고침을 하지 않고도 서버에서 정보를 요청할 수 있다.

회원가입을 진행할때 아이디를 중복체크하는 시스템이 존재한다.

옛날에는 이 중복체크를 웹으로 따로 띄워서 진행했지만 현재는 알아서 실시간으로 서버에서 중복체크를 실행해 결과를 가져오는 ajax를 더 많이 사용하는 추세다.

즉, 웹을 새로고침하거나 새로 띄우지 않아도 알아서 정보를 가져와준다는 뜻이다.