비동기 JavaScript 및 XML(AJAX)은 JavaScript와 XMLHTTPRequest 객체를 사용하여 웹 브라우저와 웹 서버 간에 데이터를 교환하는 프로그래밍 기법입니다.

AJAX는 거의 웹 2.0 애플리케이션과 동의어로 여겨지며 웹페이지의 상호작용성을 향상하는 데 사용됩니다. AJAX를 사용하면 개발자는 페이지의 모든 콘텐츠를 다시 불러오지 않고도 페이지의 개별 요소를 실시간으로 업데이트할 수 있습니다. 과거에는 웹페이지의 특정 콘텐츠를 업데이트해야 할 경우 웹 서버에서 전체 페이지를 다시 불러와야 했기 때문에 대량의 중복 데이터가 전송되었습니다.

AJAX를 사용하면 사용자 동작(예: 버튼 클릭 또는 이미지 위에 마우스 포인터 올리기), 일정한 시간 간격(예: 5초마다) 또는 애플리케이션별 로직(예: 사용자가 미국의 주를 선택하면 해당 주의 도시 목록 불러오기)에 따라 웹페이지 내 콘텐츠를 업데이트할 수 있습니다.

AJAX 기반 애플리케이션은 AJAX 기반 상호 작용을 여러 브라우저에서 지원하는 널리 사용되는 오픈 소스 툴킷을 활용하는 경우가 많습니다. 이러한 툴킷은 Prototype JavaScript 프레임워크 및 Dojo 툴킷과 같은 JavaScript 라이브러리 형태로 제공됩니다.

AJAX 기반 애플리케이션에서는 웹 브라우저와 웹 서버 간 통신이 증가하기 때문에 이러한 애플리케이션의 성능이 웹 서버 연결 과부하, 네트워크를 통해 전송되는 과도한 소형 패킷, 브라우저에서 적용하는 연결 제한 등 다양한 이유로 저하될 수 있습니다.

AJAX 기반 애플리케이션과 관련된 보안 및 성능 문제를 해결할 수 있는 F5 제품: BIG-IP Application Security Manager.