JavaScript Assíncrono e XML (AJAX) é uma técnica de programação que utiliza JavaScript e o objeto XMLHTTPRequest para trocar dados entre um navegador e um servidor web.

AJAX é praticamente sinônimo de aplicações da web 2.0 e é usado para aumentar a interatividade das páginas da web. O AJAX permite que os desenvolvedores atualizem partes específicas de uma página em tempo real, sem precisar recarregar todo o conteúdo. Antigamente, se uma parte específica do conteúdo de uma página da web precisasse ser atualizada, a página inteira era recarregada do servidor web, o que resultava na transferência de grandes quantidades de dados duplicados.

Com o AJAX, o conteúdo de uma página da web pode ser atualizado com base em uma ação do usuário (por exemplo, clicar em um botão ou passar o cursor sobre uma imagem), em um intervalo de tempo (por exemplo, a cada 5 segundos) ou em uma lógica específica do aplicativo (por exemplo, quando o usuário seleciona um estado dos EUA, é carregada uma lista das cidades correspondentes).

Aplicações baseadas em AJAX geralmente utilizam kits de ferramentas populares de código aberto que oferecem compatibilidade entre navegadores para interações baseadas em AJAX. Esses kits de ferramentas são disponibilizados na forma de bibliotecas JavaScript, como o framework JavaScript Prototype e os kits de ferramentas Dojo.

Devido ao aumento da comunicação entre navegadores e servidores web associado a aplicações baseadas em AJAX, o desempenho dessas aplicações pode ser prejudicado por diversos motivos, incluindo a sobrecarga das conexões do servidor web, a grande quantidade de pequenos pacotes trafegando pela rede e as limitações de conexão impostas pelos navegadores.

Produtos F5 que podem solucionar os problemas de segurança e desempenho associados a aplicações baseadas em AJAX: BIG-IP Application Security Manager.