Bases des technologies web

Trois serveurs d'application sont placés derrière un répartiteur de charge, qui leur distribue les requêtes à tour de rôle (round robin). Les informations de session d'un utilisateur connecté sont conservées uniquement dans la mémoire du serveur qui a traité la connexion. Quelle combinaison d'un problème probable et de sa contre-mesure est appropriée ?

  1. ASi une requête est envoyée à un autre serveur, la session est introuvable et l'utilisateur semble déconnecté. On place les sessions dans un stockage partagé utilisable par tous les serveurs
  2. BLes trois serveurs émettent chacun de leur côté le même identifiant de session, ce qui crée des collisions. On utilise des identifiants de session courts et séquentiels pour que les utilisateurs puissent les retenir
  3. CLe répartiteur de charge ne peut pas lire les cookies, si bien que HTTPS devient inutilisable. On cesse de chiffrer les communications entre le répartiteur de charge et les serveurs
Afficher la réponse et l'explication

Réponse : A. Si une requête est envoyée à un autre serveur, la session est introuvable et l'utilisateur semble déconnecté. On place les sessions dans un stockage partagé utilisable par tous les serveurs

Si les informations de session n'existent que dans la mémoire d'un seul serveur, le serveur qui reçoit la requête suivante ne peut pas identifier l'utilisateur lorsque cette requête lui est distribuée. Une contre-mesure consiste à conserver les sessions dans un stockage partagé que tous les serveurs peuvent lire et écrire (un magasin de données en mémoire ou une base de données). Une autre est la persistance de session (sessions « collantes », sticky sessions), qui continue d'envoyer les requêtes d'un même utilisateur au même serveur ; mais les sessions sont perdues si ce serveur s'arrête, et la charge tend aussi à se déséquilibrer. Des serveurs sans état permettent d'ajouter ou de retirer facilement des serveurs.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases des technologies web

  1. Quelle description d'un JWT (JSON Web Token) signé typique est correcte ?
  2. Une application de tirage de photos lit, avec la permission de l'utilisateur, ses photos stockées sur le service de stockage de photos d'une autre entreprise. Dans OAuth 2.0, quel rôle présente à l'utilisateur l'écran qui lui demande sa permission et, s'il l'accorde, émet un jeton d'accès à l'application ?
  3. Quelle description de la relation entre OAuth 2.0 et OpenID Connect est correcte ?
  4. Quelle conception d'API web est conforme aux principes de REST ?
  5. Un navigateur ouvre https://www.example.com:8443/docs/guide.html?lang=ja#install. Quelle partie de cette URL n'est pas incluse dans la requête envoyée au serveur et n'est utilisée que dans le navigateur après le chargement de la page ?