본문 바로가기

웹 개발/Ajax

[Ajax] Ajax 개요 ::Toy-Toy DevStory

Ajax 개요


1. AJAX 무기의 달인


Ajax란, Asynchronous Javascript and XML ()

Ajax는 무기의 달인 C, JAVA, Python과 같은 새로운 언어는 아닙니다.

HTML, CSS, 자바스크립트 등 기존에 사용되던 여러 기술을 응용한 개발 방법입니다.


Ajax는 페이지의 이동없이 웹 페이지의 데이터를 갱신, 수정, 등록할 수 있게 해주는 기술입니다.

한마디로 Ajax는 웹 페이지의 이동을 없애 웹을 어플리케이션과 같이 사용할 수 있게 해줍니다.


Ajax는 다음과 같은 형태의 데이터를 주고 받을 수 있습니다.

- Json

- XML

- HTML

- text 등...


2. 기존 기술과 차이

  

기존에는 웹 어플리케이션은 브라우저에서 폼을 채우고 이를 서버로 제출하게 되면 하나의 요청으로 서버는

요청된 내용에 따라서 데이터를 가공하여 새로운 웹 페이지를 작성하고 응답해줍니다.

결과적으로 같은 HTML 코드를 전송함으로써 많은 리소스를 낭비하게 됩니다.


반면에 Ajax 어플리케이션은 필요한 데이터만을 서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 

처리를 할 수 있습니다.

웹 서버에서 100% 처리되던 데이터의 일부를 클라이언트 쪽에서 처리 되므로 리소스의 낭비를 막을 수 있고

동시에 응답성이 좋아집니다. 또한 서버의 부하를 줄여주고 서버의 처리량도 줄어들게 됩니다.


3. 장단점

 

ajax의 장점

- 페이지 이동없이 고속으로 화면을 전환할 수 있다.

- 서버의 처리를 기다리지 않고, 비동기 요청이 가능하다.

- 수신하는 데이터 양을 줄일 수 있고, 클라이언트에게 처리를 위임할 수도 있다.

- 웹 페이지가 로드 된 후에 서버와 데이터를 요청 및 응답 받을 수 있다.


ajax의 단점

- Ajax를 쓸 수 없는 브라우저가 있다.

- HTTP 클라이언트의 기능이 한정되어 있다.

- 페이지 이동없는 통신으로 인한 보안상의 문제

- 지원하는 Charset이 한정되어 있다.

- 스크립트로 작성되므로 디버깅이 용이하지 않다.

- 동일- 출처 정책으로 인해 다른 도메인과는 통신이 불가능하다.

- Ajax는 클라이언트 풀링 방식을 사용하므로, 서버 푸시 방식의 실시간 서비스는 만들 수 없다.


4. 프레임워크

 

Ajax를 이용하여 개발을 도와주는 프레임워크은 다음과 같다.


- Prototype

- script.aculo.us

- dojo

- JQuery


이 외에도 다양한 프레임워크가 존재합니다.