Programming/Web, HTML

Web :: AJAX(Asynchronous Javascript and XML)란?

WANJIN 2017. 10. 12. 01:22
반응형

플젝이 끝난지 벌써 1달이 훌쩍... 오랜만에 기술용어들을 접하면서 멘붕이 왔다.


아니... 나 이거 분명 아는건데? 왤케 생소한거? 똥망의 냄새.


아 난 기억력이 정말 똥파리 수준이라는것조차 망각하고 말았다. 이래서 내가 블로그를 시작했지 참.

멘탈이 탈탈 털리고 정신을 차리고 아주 기초적인 용어들을 다시 잡아볼까 한다.


그 시작은 바로 에이잭스! 뚜둔-.



AJAX란?

에이잭스로 말할 것 같으면, 일단 위키는 이렇게 설명하고 있다.

Ajax는 비동기적인 웹 앱 제작을 위해 어떠한 "조합"을 이용하는 웹 개발 기법이다.

즉, 얘는 그 자체가 하나의 기술을 말하는건 아니고, 그냥 같이 쓰는 몇 개의 기술이 있는데 걔네들을 묶어서 이렇게 부르는 거다.



그렇담, 묶어서 쓴다는 그 기술들은  뭔데?

- HTML & CSS
- DOM & JavaScript
XML & XSLT & XMLHttpRequest

이런 것들이 있다고 한다.

각각의 기술들에 대한 설명은 차차 하도록 하고.


왜 이런 조합, 그러니까 AJAX가 생겨나게 된걸까 그 배경을 한번 살펴보자.




AJAX 탄생 배경

에이줵스 이전의 웹 애플리케이션이 어떻게 동작했느냐 하면은(사실 아직도 이 방법 계속 많이많이 쓰고 있음.)


클라이언트에서 어떤 요청을 서버한테 보내면  -> 서버는 그 요청에 맞게 데이터를 가공해서 새로운 웹 페이지를 생성해 버린다.

 -> 그리고 이렇게 생성한거를  다시 클라이언트에게 응답으로 주는 방식이었다.


자. 이 대목에서 중요한건, 서버쪽에서 지가 새로운 웹페이지를 생성해서 준다는 데에 있다.

요거요거 바로 JSP 방식이다. 이 얘긴 또 기니까 다음에 차차 하기로 하고.


고런데 이 때 약간의 문제가 뭐냐 하면, 대역폭 낭비가 생겨버린다는 거다.

뭔 말이냐 하면.

처음에 클라이언트가 주는 페이지나, 서버가 새로 생성해서 돌려준 그 페이지나 별 차이가 없는데, 서버가 굳---이 페이지를 새롭게 만들어 주는 바람에,

중복되는 HTML코드가 전송되면서 대역폭이 낭비된다 이거다.


그래서 생긴게 바로 아작스, 두둥-.




AJAX는 어떻게 돌아가냐면,

얘는, 클라이언트가 요청을 서버한테 보내면 -> 서버가 거기에 필요한 데이터만 가공해서 클라이언트한테 넘기고,

 -> 그걸 건네 받은 클라이언트는 지가 알아서 그걸 처리해서 화면에 보여주든 말든 한다.



이렇게 하면 클라이언트와 서버 간에 교환되는 데이터량이 훨씬 줄어들고, 웹 서버에서 처리해야하는 데이터 양도 확 줄어들기 때문에, 애플리케이션의 응답성이 좋아진다!


또한, 할 일이 안그래도 많은 서버한테 페이지 생성까지 시키니까 서버가 부담이 이만저만이 아니었는데,

이 방법을 써먹으면 데이터만 싹 보내고 끝이니까 서버의 부하를 줄일 수 있다.


클라이언트쪽에서도 좋은게, 무조건 서버쪽에서 보내준 화면을 띄울 수 밖에 없었던 기존 방법과는 달리!

서버에서 데이터만 보내주면 자기 입맛에 맞게 처리할 수 있다. 

좀 유식하게 말하면, 클라이언트에게 처리를 위임할 수 있다.






음. 일단 밤이 깊었으니까 오늘은 여까지.

반응형