Requêtes et réponses dans le protocole HTTP
Supposons qu'un utilisateur souhaite ouvrir une certaine page d'un certain site dans son navigateur. Pour ce faire, l'utilisateur soit suit un lien, soit saisit l'URL de la page dans la barre d'adresse du navigateur. Les deux méthodes sont techniquement équivalentes.
Après cela, le navigateur envoie au serveur une requête (request), dans laquelle il demande au serveur de renvoyer la page correspondant à l'URL spécifiée. Le serveur reçoit la requête du navigateur, forme une réponse (response) et l'envoie en retour au navigateur.
La requête et la réponse sont simplement des chaînes de caractères, formatées d'une manière spécifique. Le protocole HTTP régit les règles de formatage de ces chaînes.
Ainsi, toute l'interaction entre le client et le serveur se résume à un échange de messages, semblable à une balle dans un jeu de ping-pong.
L'initiation de la requête est obligatoire. Cela signifie que le serveur envoie toujours une réponse à la requête du navigateur. Il ne peut pas y avoir de situation où le serveur envoie quelque chose au navigateur de lui-même, sans une requête préalable de ce dernier.