Ajax
1. Ajax란 무엇인가?
○ 현존하는 웹 프로그래밍 관련 기술들을 통합하여 대화형 웹 어플리케이션을 개발하는 새로운 개발 방법
○ Javascript를 사용한 비동기 통신기술
○ 웹 서버에서 수신한 데이터를 처리하는 데 DOM을 사용
- DOM객체 : HTML, XML
2. Ajax 사용 이유 및 특징
○ 전통적인 웹 어플리케이션의 특징
- 요청 → 기다림 → 응답
- 응답을 기다리는 동안 어떤 작업도 할 수 없다
○ RIA
- 웹 페이지에서는 새로운 데이터가 오면, 원래는 새로고침을 해야 새로운 데이터가 화면에 나왔지만,
RIA를 사용하면 전체는 그대로 있고 전송받은 데이터만 변경된다.
- 전체 데이터가 리로딩되지 않고, 필요한 부분만 리로딩된다.
○ 특징
- 플러그인을 사용하지 않고 브라우저만으로 바로 이용 가능
- 기존의 웹 기술들(DHTML,Javaxcript,CSS)을 그대로 이용할 수 있다.
○ 장점
- 접근이 용이하며, 비동기 통신이 가능하다
○ 단점
- 브라우저 호환성에 자유롭지 못하다
3. Ajax기반 웹 어플리케이션 통신 모델
○ 비동기식 : 응답을 기다리는 동안 다른 작업을 실행 할 수 있다
○ 동기식 : 응답을 기다리는 동안 어떠한 작업도 할 수 없다. 응답을 받을때까지 기다려야한다.
클라이언트가 서버에 요청을 하면, 서버에서 응답을 받을때까지 기다림.
○ 응답받는 데이터 형태
- 텍스트 데이터
- XML 데이터
4. XMLHttpRequest 객체
○ 비동기 통신을 담당하는 자바스크립트 객체
○ 주요 프로퍼티
- readyState : 내가 요청한 데이터가 어느상태에 있는지 확인 가능
- onreadystatechange : readyState의 숫자를 보고 실행할 이벤트 핸들러를 지정
○ 주요 메소드