Aller au contenu

HTTP

Principe

Ce qui nous intéresse ici est le protocole HTTP (Hypertext Transfer Protocol: protocole de transfert hypertexte). Le principe est le suivant:

  • le client envoie une requête au serveur (c'est à dire demande au serveur une action),
  • le serveur envoie une réponse.

Pour se faire une première idée du protocole, voici ce qui est écrit sur wikipedia pour la première version du protocole (c'est un peu plus complexe pour les versions ultérieures mais le principe de base reste le même):

  • connexion du client HTTP
  • envoi d'une requête de méthode GET
  • réponse du serveur HTTP
  • le serveur ferme la connexion pour signaler la fin de la réponse.

Quelques éléments du protocole

Un serveur web supporte le protocole HTTP (HyperText Transfer Protocol: Protocole de transfert hypertexte). Comme son nom l'indique, HTTP définit comment transférer des fichiers hypertextes entre deux ordinateurs.

HTTP est un protocole textuel, sans état.

  • Textuel: toutes les commandes qui sont échangées sont du texte pouvant être lu par un humain.

  • Sans état: ni le serveur, ni le client ne se souviennent des communications précédentes. Par exemple, si on utilisait uniquement HTTP, un serveur ne pourrait pas se souvenir si un mot de passe a été saisi ou si une transaction est en cours (pour gérer cela, il faut utiliser un serveur d'applications).

HTTP fournit des règles claires qui indiquent comment un client et un serveur communiquent.

Les points les plus importants à garder en mémoire :

  • Seuls les clients peuvent effectuer des requêtes HTTP et uniquement vers des serveurs. Les serveurs ne peuvent que répondre à la requête d'un client.
  • Lorsque le client demande un fichier via HTTP, il doit fournir l'URL du fichier en question.
  • Le serveur web doit répondre à chaque requête HTTP (la réponse peut être un message d'erreur).

Sur un serveur web, le serveur HTTP est responsable du traitement des requêtes reçues et de leurs réponses.

  • Une fois qu'il a reçu une requête, le serveur HTTP vérifie que l'URL demandée correspond à un fichier existant.
  • Si c'est le cas, le serveur envoie le fichier vers le navigateur du client. Sinon, le serveur d'applications génère le fichier nécessaire.
  • Si le fichier n'existe pas ou que le traitement est impossible, le serveur web renvoie un message d'erreur au navigateur. Le message d'erreur le plus fréquemment rencontré est 404 (page non trouvée).