Asynchronous JavaScript and XML (AJAX) est une technique de programmation qui utilise JavaScript et l’objet XMLHTTPRequest pour échanger des données entre un navigateur web et un serveur web.

AJAX est presque synonyme d’applications web 2.0 et sert à améliorer l’interactivité des pages web. AJAX permet aux développeurs de mettre à jour en temps réel des éléments individuels d’une page sans avoir à recharger l’intégralité de son contenu. Auparavant, lorsqu’un élément particulier du contenu d’une page web devait être mis à jour, la page entière était rechargée depuis le serveur web, ce qui entraînait le transfert d’importantes quantités de données dupliquées.

Avec AJAX, le contenu d’une page web peut être mis à jour en fonction d’une action de l’utilisateur (par exemple, lorsqu’il clique sur un bouton ou survole une image), à intervalles réguliers (par exemple, toutes les 5 secondes) ou selon une logique propre à l’application (par exemple, lorsque l’utilisateur sélectionne un État américain, une liste des villes correspondantes est alors chargée).

Les applications basées sur AJAX utilisent souvent des boîtes à outils open source populaires qui assurent la compatibilité des interactions AJAX entre les différents navigateurs. Ces boîtes à outils se présentent sous la forme de bibliothèques JavaScript telles que le framework JavaScript Prototype et Dojo.

En raison de l’augmentation des échanges entre les navigateurs web et les serveurs web liée aux applications basées sur AJAX, les performances de ces applications peuvent se dégrader pour diverses raisons, notamment une surcharge des connexions aux serveurs web, un trop grand nombre de petits paquets transitant sur le réseau et les limitations de connexion imposées par les navigateurs.

Produits F5 permettant de résoudre les problèmes de sécurité et de performances liés aux applications AJAX : BIG-IP Application Security Manager.