비동기식 JavaScript 및 XML(AJAX)은 JavaScript와 XMLHTTPRequest 객체를 사용하여 웹 브라우저와 웹 서버 간에 데이터를 교환하는 프로그래밍 기법입니다.
AJAX는 웹 2.0 애플리케이션과 거의 동일하고 웹 페이지의 상호 작용성을 향상시키는 데 사용됩니다. AJAX는 개발자에게 페이지의 모든 콘텐츠를 다시 로드할 필요 없이 페이지의 개별 부분을 실시간으로 업데이트할 수 있는 수단을 제공합니다. 과거에는 웹 페이지의 특정 콘텐츠를 업데이트해야 하는 경우 웹 서버에서 전체 페이지를 다시 로드하고, 이로 인해 대량의 중복된 데이터를 전송해야 했습니다.
AJAX를 사용하여, 웹 페이지 내의 콘텐츠는 사용자 동작(예: 버튼 클릭 또는 이미지 위에 커서 가리키기), 시간 간격(예: 5초마다), 또는 애플리케이션별 로직(예: 사용자가 미국 주를 선택한 후에는 해당되는 도시 목록을 로드)에 기초하여 업데이트될 수 있습니다.
AJAX 기반 애플리케이션은 종종 AJAX 기반 상호 작용을 위한 브라우저 간 지원을 제공하는 유명한 오픈 소스 툴킷을 이용합니다. 이러한 툴킷은 프로토타입 JavaScript 프레임워크와 Dojo 툴킷과 같은 JavaScript 라이브러리의 형태입니다.
AJAX 기반 애플리케이션과 관련된 웹 브라우저와 웹 서버 간의 통신이 증가함에 따라 웹 서버 연결의 과부하, 네트워크를 가로지르는 소규모 패킷의 급증, 브라우저에서 구현하는 연결 제한 등 다양한 이유로 애플리케이션의 성능이 저하될 수 있습니다.
AJAX 기반 애플리케이션과 관련된 보안 및 성능 문제를 해결할 수 있는 F5 제품: BIG-IP Application Security Manager.