Bases des technologies web

Apprenez le fonctionnement du web avec des QCM : requêtes et réponses HTTP, méthodes et codes d'état, en-têtes et contrôle du cache, HTTP/2 et HTTP/3, cookies et sessions, JWT, OAuth et OpenID Connect, API REST, URL et JSON, WebSocket et webhooks, DOM et CSS, boucle d'événements, politique de même origine et CORS, Service Worker, CDN et compression, Core Web Vitals, serveurs web et proxys inverses, SSR, CSR et SSG.

S'entraîner sur 10 questionsQuestions aléatoires de ce thème · environ 5 minutes S'entraîner sur ce thèmeToutes les questions de ce thème dans un ordre aléatoire Questions à revoirNe refaire que les questions manquées lors de la dernière tentative

Bases des technologies web : points clés

Lorsqu'on ouvre une URL dans un navigateur, une requête HTTP parvient à un serveur, et le navigateur construit l'écran à partir du HTML, du CSS et du JavaScript qu'il reçoit en retour. Le web repose sur la combinaison de nombreuses technologies : les cookies qui maintiennent la connexion de l'utilisateur, les API qui relient d'autres services, les caches et les CDN qui accélèrent l'affichage, etc.

Ce thème couvre la forme des requêtes et des réponses HTTP, la sûreté et l'idempotence des méthodes, les codes d'état, le contrôle du cache par les en-têtes et les différences entre HTTP/1.1, HTTP/2 et HTTP/3. Il traite ensuite de la gestion de l'état par les cookies, les sessions et les JWT, d'OpenID Connect et OAuth 2.0, des API REST, de la structure des URL, de l'encodage-pourcent et de JSON, ainsi que de WebSocket et des webhooks. Côté navigateur, il aborde le DOM, le modèle de boîte et la spécificité CSS, le traitement jusqu'au premier affichage, la boucle d'événements de JavaScript, la politique de même origine et CORS, les Service Workers et le responsive design ; côté diffusion, les caches du navigateur et des CDN, la compression et le calcul des temps de transfert, les Core Web Vitals, les formats d'image, les serveurs web et serveurs d'application, les proxys inverses, ainsi que le SSR, le CSR et le SSG. Il aide aussi à préparer les parties réseaux et systèmes web des examens de certification informatique. Le fonctionnement de TCP/IP, de DNS et de TLS est traité dans « Bases des réseaux informatiques », les attaques comme XSS, CSRF ou l'injection SQL et leurs contre-mesures dans « Bases de la sécurité de l'information », et la conception de la répartition de charge et de la redondance dans « Architecture des systèmes et fiabilité ».

Toutes les questions sur Bases des technologies web (40)

  1. Quelle combinaison donne correctement les éléments de la première ligne (la ligne de requête) d'une requête HTTP/1.1 ?
  2. Parmi les méthodes HTTP, laquelle n'est pas « sûre » (elle peut modifier l'état des ressources sur le serveur) mais est « idempotente » (envoyer la même requête un nombre quelconque de fois laisse le même état que l'envoyer une seule fois) ?
  3. En HTTP, quelle association entre un code d'état et sa signification est correcte ?
  4. Sur un site réservé aux membres, un membre ordinaire connecté demande une page à laquelle seuls les administrateurs ont accès. Le serveur sait qui est l'utilisateur, mais n'autorise pas l'accès à cette page. Quel code d'état est le plus approprié pour la réponse ?
  5. Une API web renvoie des données au format JSON comme corps de sa réponse. Quel en-tête ajoute-t-on généralement à la réponse pour indiquer le format du corps ?
  6. Un navigateur demande de nouveau une image reçue précédemment, en plaçant dans l'en-tête If-None-Match la valeur ETag de la réponse d'alors. Si l'image n'a pas changé sur le serveur, quelle est la réponse correcte du serveur ?
  7. Quelle description de HTTP/2 et HTTP/3 est correcte ?
  8. On récupère, l'un après l'autre, un fichier HTML et les quatre images qu'il référence sur un serveur web dont le RTT est de 40 ms. On suppose que l'établissement d'une connexion TCP prend un aller-retour et que chaque requête et sa réponse prennent un aller-retour, et l'on néglige le temps de transfert des données, le temps de traitement du serveur, TLS et la fermeture des connexions. Quelle est la différence de durée totale entre l'ouverture d'une nouvelle connexion TCP pour chaque objet et la réutilisation d'une seule connexion TCP (connexion persistante) ?
  9. HTTP est un protocole sans état. Quelle description de ce que cela signifie et de la façon habituelle dont un site web garde un utilisateur connecté est correcte ?
  10. Quelle description du cookie défini par l'en-tête ci-dessus est correcte ?
  11. Quelle description d'une différence entre le localStorage du navigateur et les cookies est correcte ?
  12. 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 ?
  13. Quelle description d'un JWT (JSON Web Token) signé typique est correcte ?
  14. 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 ?
  15. Quelle description de la relation entre OAuth 2.0 et OpenID Connect est correcte ?
  16. Quelle conception d'API web est conforme aux principes de REST ?
  17. 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 ?
  18. Pour mettre le caractère japonais « あ » dans la requête (query) d'une URL, on encode en pourcentage la suite d'octets qui le représente en UTF-8 (E3 81 82). Quel est le résultat correct ?
  19. Une application de messagerie instantanée doit transmettre immédiatement les nouveaux messages du serveur au navigateur. Quelle description de WebSocket est correcte ?
  20. Le serveur d'un commerçant veut savoir immédiatement qu'un paiement est terminé sur un service de paiement en ligne. Quelle description de la méthode dans laquelle le service de paiement envoie une notification par une requête HTTP POST à une URL enregistrée à l'avance par le commerçant (webhook) est correcte ?
  21. Quelle description du DOM (Document Object Model) utilisé par les navigateurs est correcte ?
  22. Pour un élément auquel s'applique le CSS ci-dessus, quelle est la largeur mesurée d'un bord extérieur à l'autre des bordures gauche et droite ?
  23. On suppose qu'il n'y a aucune autre règle de style. Dans le HTML ci-dessus, de quelle couleur est le texte « Hello » ?
  24. Dans le traitement qui mène le navigateur jusqu'au premier affichage (le chemin de rendu critique, ou critical rendering path), un élément <script src="app.js"> sans attribut placé dans <head> arrête l'analyse du HTML à cet endroit. Quel comportement est correct si l'on ajoute l'attribut defer à cet élément ?
  25. Lorsqu'on exécute le JavaScript ci-dessus dans un navigateur, quel est l'ordre correct d'affichage des caractères dans la console ?
  26. Selon la politique de même origine des navigateurs, quelle URL est considérée comme de même origine que https://www.example.com/app/index.html ?
  27. Le JavaScript d'une page de https://app.example.com veut envoyer avec fetch une requête POST vers https://api.example.net/orders, avec un corps de type Content-Type: application/json. Quel comportement de CORS est correct dans ce cas ?
  28. Quelle description d'un Service Worker est correcte ?
  29. Dans une page en responsive design adaptée aussi aux smartphones, quel est le but principal d'écrire <meta name="viewport" content="width=device-width, initial-scale=1"> dans <head> ?
  30. On ajoute Cache-Control: private, max-age=60 à la réponse d'une page « Mon compte » dont le contenu diffère selon l'utilisateur. Quel est l'effet correct de cette directive ?
  31. Lorsqu'un serveur web compresse ses réponses avec gzip ou Brotli, pour quel type de contenu la réduction du volume transféré est-elle généralement la plus faible ?
  32. On envoie 1,5 MB de données texte, compressées par gzip au tiers de leur taille. La bande passante est de 10 Mbit/s et le RTT de 100 ms ; avant de commencer à envoyer les données, la connexion TCP, la poignée de main TLS et la requête HTTP prennent ensemble 3 allers-retours. On prend 1 MB = 10^6 octets et l'on néglige le temps de compression et de décompression, les en-têtes et les attentes dues au contrôle de congestion de TCP. Quelle valeur est la plus proche du temps nécessaire pour finir de recevoir les données ?
  33. Un CDN reçoit 2000 requêtes par seconde, et son taux de succès du cache est passé de 90 % à 98 %. Le temps de réponse est de 20 ms en cas de succès ; en cas d'échec, la réponse est récupérée auprès du serveur d'origine et prend 200 ms, et seules les requêtes en échec atteignent le serveur d'origine. Une fois à 98 %, quelle combinaison du nombre de requêtes qui atteignent le serveur d'origine et du temps de réponse moyen est correcte ?
  34. Parmi les Core Web Vitals, des indicateurs de l'expérience offerte par une page web, que représente le CLS (Cumulative Layout Shift) ?
  35. Quelle association entre un format d'image utilisé sur les pages web et son usage courant est appropriée ?
  36. On encode en Base64 une image de 3000 octets pour l'intégrer dans du HTML. Sans retours à la ligne, combien de caractères compte le résultat de l'encodage ?
  37. Un système web est organisé en trois couches : serveur web, serveur d'application et serveur de base de données. Quel traitement relève principalement du serveur d'application ?
  38. Quelle description d'un proxy inverse est correcte ?
  39. En CGI, le serveur web lance le programme dans un nouveau processus à chaque requête reçue, et le processus se termine à la fin du traitement. Quelle est la principale raison pour laquelle FastCGI et les serveurs d'application traitent beaucoup de requêtes plus efficacement que CGI ?
  40. Parmi les méthodes de construction des pages d'un site web, laquelle génère à l'avance, lors de la compilation du site (build), les fichiers HTML de toutes les pages et renvoie ces fichiers tels quels aux requêtes ?

Autres thèmes de Systèmes informatiques