비동기 JavaScript 및
XML(Ajax)은 웹 애플리케이션 개발에 사용되는 기술 그룹을
말합니다. 이러한 기술을 결합하면 서버에서 작은 패킷의 데이터가 교환되고
사용자가 입력을 변경할 때마다 웹 페이지가 다시 로드되지 않으므로
웹 페이지는 보다 향상된 응답 능력을 보여줍니다. Ajax를 사용하면
지속적인 웹 페이지의 다시 로드를 중단하지 않고도 웹 애플리케이션 사용자가
웹 페이지와 상호작용할 수 있습니다.
웹 사이트 상호작용은 페이지의 다시 로드 및 새로 고치기 부분에서만 빠르게
발생합니다.
Ajax는 다음 기술 중 하나로 구성됩니다.
- 정보를 표시하는 XHTML 및 CSS
- 표시된 정보를 표시하고 동적으로 상호작용하는 DOM(Document Object Model).
- 웹 서버에서 비동기적으로 데이터를 조작하는 XMLHttpRequest 오브젝트.
- 데이터 교환 및 조작용 XML, HTML, XSLT
- 정보 표시와 데이터 요청 바인딩에 사용하는
JavaScript
Ajax는
웹 애플리케이션을 개발하기 위한 새 접근 방식을 작성하도록 이러한 기술을 통합합니다.
Ajax는 페이지를 다시 로드하지 않고 서버 통신을 위해 클라이언트를
시작하는 메소드를 정의합니다. 부분적으로 페이지를 업데이트할 수 있는 방법을 제공합니다.
웹 페이지 사용자 관점에서 이는 웹 애플리케이션의 향상된 상호작용을 의미하며
데스크탑 애플리케이션과 유사하게 사용자에게 환경에 대해 더 많은 제어를
제공할 수 있습니다.
기존 웹 애플리케이션에서는
웹 인터페이스에서 사용자 상호작용으로 시작된 HTTP 요청이
웹 서버에서 작성됩니다. 웹 서버는 요청을 처리하고
클라이언트에 HTML 페이지를 리턴합니다. HTTP 전송 중에
사용자는 웹 애플리케이션과 상호작용할 수 없습니다.
Ajax 웹 애플리케이션에서 사용자와 웹 애플리케이션의 상호작용은
중단되지 않습니다. Ajax 엔진 또는
JavaScript
해석기를 사용하면 인터페이스를 렌더링하고 사용자 대신 서버와의 통신을 처리하여
사용자가 서버와의 HTTP 전송과는 독립적으로 웹 애플리케이션과 상호작용할 수 있습니다.
Ajax 제한사항
Ajax는
웹 페이지의 응답 능력과 사용자와의 상호작용을 향상시키도록 디자인된 웹
애플리케이션 개발 기술이지만, Ajax에는 Ajax 기반 애플리케이션을 개발하기
전에 고려해야 할 몇 가지 제한사항이 있습니다. 다음 제한사항은
보다 주목해야 하는 일부 단점입니다.
- 브라우저 지원 - 모든 브라우저에서 JavaScript 또는 XMLHttpRequest 오브젝트를 지원하지는 않습니다. JavaScript 및 XMLHttpRequest를 지원하는 브라우저 중에서도
해당 오브젝트는 서로 다르게 처리될 수 있습니다. 각 브라우저의 Ajax 구현을 고려해야 합니다.
- 보안 및 사용자 개인정보 보호 - 모든 문제가 처리되지는 않습니다.
Ajax 애플리케이션을 개발할 때 보안 및 사용자 개인 정보에
관한 문제를 고려해야 합니다.
- 내게 필요한 옵션 -
일부 브라우저에는
JavaScript 또는 XMLHttpRequest
오브젝트 지원이 없으므로 모든 사용자가 웹 애플리케이션에 액세스할 수 있는
방법을 제공해야 합니다.
- 책갈피 및 탐색 - Ajax를 사용하여 컨텐츠 일부를 기존
페이지에 비동기적으로 로드하므로 일부 페이지 정보는 새로 로드된 페이지에
대응하지 않을 수 있습니다. 브라우저 히스토리 및 책갈피는
변경할 페이지 부분에도 불구하고 URL이 변경되지 않았으므로 올바른 동작을
보이지 않을 수 있습니다.
- 검색 엔진 - Ajax 애플리케이션은 검색할 수 없지만
검색 가능한 애플리케이션에서 Ajax 기능 및 요소를 사용할 수는
있습니다.