Reprenons l'exemple des suggestions dans la recherche Google. Il est très important de bien comprendre la chronologie et de savoir ce qui se passe sur le client et sur le serveur. En pratique, les échanges peuvent devenir compliqués.
1) Client au serveur « bonjour google.fr, je veux la page https://google.fr »
2) Le serveur de Google exécute un programme qui génère la page HTML
3) Serveur au Client : voici la page au format HTML
4) Le client affiche la page reçue (simplifié, en pratique il y a de nombreuses autres requêtes pour le CSS, le JS, les images...)
5) L'utilisateur commence à taper « javas ». Un programme JavaScript sur le client réagit à l'événement clavier et lance une requête AJAX au serveur.
6) Requête AJAX au serveur
7) Le serveur reçoit la requête et exécute un programme (par exemple PHP) qui va chercher des suggestions commençant par « javas » dans une Base de Données (ex: sql).
8) Le serveur envoie les suggestions au client
9) Le JavaScript sur le client affiche les suggestions