2016년 6월 27일 월요일

AJAX 에 대해


Ajax(Asynchronous JavaScript and XML, 에이잭스)는 대화식 웹 애플리케이션의 제작을 위해 아래와 같은 조합을 이용하는  개발 기법이다.



  • 표현 정보를 위한 HTML (또는 XHTML) 과 CSS
  • 동적인 화면 출력 및 표시 정보와의 상호작용을 위한 DOM자바스크립트
  • 웹 서버와 비동기적으로 데이터를 교환하고 조작하기 위한 XMLXSLTXMLHttpRequest (Ajax 애플리케이션은 XML/XSLT 대신 미리 정의된 HTML이나 일반 텍스트, JSONJSON-RPC를 이용할 수 있다).

출처 : 위키백과



- Asynchronos?

해석하면 '비동기적'이다.
'비동기적'이라는 것은, 클라이언트에서 서버에 요청을 보낼 때 요청을 보내놓고 프로그램은 계속 돌아간다는 의미이다. 즉, 먼저 요청한 것에 대한 콜백1 함수가 먼저 실행되지 않는다는 것이다.


- Javascript?

자바스크립트는 웹 브라우저에 대한 스크립트 언어로 만들어진 언어이다. 웹 브라우저에서 출발했기 때문에 본래 서버와 소통하는 기능은 없었으나 AJAX는 가능하다.


- XML?

XML은 데이터 형식의 일종이다.
XML은 'Extensible Markup Language'의 준말이다. 즉 확장가능한 '표시' 언어 라는 것이다.
그렇다면 markup language는 무엇인가? 이것은 데이터에 태그로 항목 표시를 해준다는 것이다. HTML도 마크업 랭귀지의 일종이다.
만약 사람의 키, 나이 등을 표현하고 싶다면 XML에서는
<person>
<height></height>
<age></age>
</person>
이런식으로 작성할 것이다.

출처: http://wherethelightis.tistory.com/14 [초보개발자의 공부공간]


요약 정리 
자바스크립트를 이용해서 비동기식으로 서버와 통신하는 방식. 단 이 때 XML을 이용한다.

AJAX 동작 방식

1. 클라이언트(웹브라우저) 에서 XMLHttpRequest 객체 생성 후 서버로 전송
2. 서버에서 메세지를 받고 메시지에 해당하는 정보를 클라이언트에 응답,  callback 함수 실행
3. callback 함수에 의해 클라이언트 정보 업데이트 (refresh)된다


장단점 정리

장점 : ajax 통신후 데이터로 부분 갱신이 가능하며 필요한 부분만 받기
때문에 통신량이 줄어듭니다

단점 : Js 코드가 늘어나고 너무 많은 통신을 할경우 오히려 과부하를 일으킬수 있습니다.

출처: http://ddo-o.tistory.com/92 [공순이의 블로그]






댓글 2개:

  1. 장점:통신량이 줄어든다... 단점: 과부하가 일어난다...
    완전히 반대되는 이야기인데요?

    ajax통신은 아주 많은 응용법과 사용법이 있지만,
    그저 '동적인 화면 출력 및 표시 정보와의 상호작용' 수준에서 이용한다면, 과부하가 일어날 일도 없습니다.

    아니, 접속자수가 왕창 있으면, ajax로 인해 과부하가 일어날 수도 있겠죠. 하지만 그건, ajax를 이용하지 않아도 일어날 과부하입니다.

    답글삭제
  2. 저도 공부하는 과정에서 ajax에 대해 정리가 잘 되어있어 퍼온 글입니다.
    좋은 의견 감사합니다

    답글삭제

추천 게시물

애플 개발자 등록방법 2016년 5월 8일 기준!!

애플 개발자 등록 절차 1. 개발자 등록 페이지 이동    애플 개발자 로그인 > Account 페이지 이동 > 하단 영역 클릭 (이미지 참조)   >> Enroll 클릭 >> 무조건 승인!! ...