Basis van webtechnologie

Leer met meerkeuzevragen over HTTP-verzoeken en -antwoorden, methoden en statuscodes, headers en cachebeheer, HTTP/2 en HTTP/3, cookies en sessies, JWT, OAuth en OpenID Connect, REST-API's, URL's en JSON, WebSocket en webhooks, het DOM en CSS, de event loop, de same-origin policy en CORS, Service Workers, CDN's en compressie, Core Web Vitals, webservers en reverse proxy's, en SSR, CSR en SSG.

Oefen 10 vragenWillekeurige vragen uit dit onderwerp · ongeveer 5 minuten Dit onderwerp oefenenAlle vragen over dit onderwerp in willekeurige volgorde Zwakke vragenAlleen de laatst fout beantwoorde vragen opnieuw oefenen

Basis van webtechnologie: kernpunten

Als een browser een URL opent, bereikt een HTTP-verzoek een server, en bouwt de browser het scherm op uit de HTML, CSS en JavaScript die terugkomen. Het web bestaat uit veel samenwerkende technologieën: cookies die de gebruiker ingelogd houden, API's die met andere diensten verbinden, en caches en CDN's die de weergave versnellen.

U leert de opbouw van HTTP-verzoeken en -antwoorden, de veiligheid en idempotentie van methoden, statuscodes, cachebeheer met headers en de verschillen tussen HTTP/1.1, HTTP/2 en HTTP/3. Daarna komen het beheren van toestand met cookies, sessies en JWT's, OAuth 2.0 met OpenID Connect, REST-API's, de opbouw van URL's, procentcodering en JSON, en WebSocket en webhooks aan bod. Aan de kant van de browser gaat het om het DOM, het CSS-boxmodel en specificiteit, de verwerking tot de eerste weergave, de event loop van JavaScript, de same-origin policy en CORS, Service Workers en responsive design; aan de kant van de levering om browser- en CDN-caches, compressie en berekeningen van overdrachtstijden, Core Web Vitals, afbeeldingsformaten, web- en applicatieservers, reverse proxy's, en SSR, CSR en SSG. Dit helpt ook bij de delen over netwerken en websystemen van IT-certificeringsexamens. Hoe TCP/IP, DNS en TLS werken, wordt behandeld in „Basis van computernetwerken”, aanvallen en tegenmaatregelen zoals XSS, CSRF en SQL-injectie in „Basis van informatiebeveiliging”, en het ontwerp van lastverdeling en redundantie in „Systeemarchitectuur en betrouwbaarheid”.

Alle vragen over Basis van webtechnologie (40)

  1. Welke combinatie van elementen in de eerste regel van een HTTP/1.1-verzoek (de verzoekregel, request line) is juist?
  2. Welke HTTP-methode is niet „veilig” (niet bedoeld om de toestand van resources op de server te veranderen), maar wel „idempotent” (hetzelfde verzoek willekeurig vaak verzenden geeft dezelfde toestand als het één keer verzenden)?
  3. Welke koppeling van een statuscode aan zijn betekenis is bij HTTP juist?
  4. Op een website voor leden vraagt een gewoon, ingelogd lid een pagina op die alleen voor beheerders toegankelijk is. De server weet wie de gebruiker is, maar staat de toegang tot deze pagina niet toe. Welke statuscode is het meest geschikt om terug te geven?
  5. Een web-API geeft gegevens in JSON-formaat terug als body van het antwoord. Welke header wordt in het algemeen aan het antwoord toegevoegd om het formaat van de body aan te geven?
  6. Een browser vraagt een eerder ontvangen afbeelding opnieuw op en zet daarbij de ETag-waarde uit het eerdere antwoord in de header If-None-Match. Welk antwoord van de server is juist als de afbeelding op de server niet is veranderd?
  7. Welke beschrijving van HTTP/2 en HTTP/3 is juist?
  8. Van een webserver met een RTT van 40 ms worden één HTML-bestand en de vier afbeeldingen waarnaar het verwijst na elkaar opgehaald. Neem aan dat het opzetten van een TCP-verbinding één rondgang kost en elk verzoek met antwoord één rondgang, en verwaarloos de overdrachtstijd van de gegevens, de verwerkingstijd van de server, TLS en het afbreken van verbindingen. Wat is het verschil in totale tijd tussen het openen van een nieuwe TCP-verbinding voor elk object en het hergebruiken van één TCP-verbinding (een persistente verbinding)?
  9. HTTP is een toestandsloos (stateless) protocol. Welke beschrijving van wat dit betekent en van de gebruikelijke manier waarop een website een gebruiker ingelogd houdt, is juist?
  10. Welke beschrijving van de cookie die met de bovenstaande header wordt ingesteld, is juist?
  11. Welke beschrijving van een verschil tussen localStorage van de browser en cookies is juist?
  12. Achter een loadbalancer staan drie applicatieservers, en de loadbalancer verdeelt de verzoeken om de beurt over de servers (round robin). De sessiegegevens van een ingelogde gebruiker worden alleen in het geheugen opgeslagen van de server die de login heeft afgehandeld. Welke combinatie van een waarschijnlijk probleem en een tegenmaatregel is passend?
  13. Welke beschrijving van een typische ondertekende JWT (JSON Web Token) is juist?
  14. Een app voor het afdrukken van foto's leest, met toestemming van de gebruiker, de foto's van die gebruiker uit de foto-opslagdienst van een ander bedrijf. Welke rol in OAuth 2.0 toont de gebruiker een scherm dat om toestemming vraagt en geeft, als de gebruiker instemt, een toegangstoken (access token) aan de app uit?
  15. Welke beschrijving van de relatie tussen OAuth 2.0 en OpenID Connect is juist?
  16. Welk ontwerp van een web-API volgt de principes van REST?
  17. Een browser opent https://www.example.com:8443/docs/guide.html?lang=ja#install. Welk deel van deze URL wordt niet meegestuurd in het verzoek aan de server en wordt na het laden van de pagina alleen binnen de browser gebruikt?
  18. Om het Japanse teken „あ” in de query van een URL te zetten, wordt de bytereeks die het teken in UTF-8 voorstelt (E3 81 82) procentgecodeerd. Welk resultaat is juist?
  19. Een chatapp moet nieuwe berichten onmiddellijk van de server naar de browser bezorgen. Welke beschrijving van WebSocket is juist?
  20. De server van een webwinkel wil onmiddellijk weten wanneer een betaling bij een onlinebetaaldienst is voltooid. Welke beschrijving van de methode waarbij de betaaldienst een melding per HTTP (methode POST) verstuurt naar een URL die de winkel vooraf heeft geregistreerd (een webhook), is juist?
  21. Welke beschrijving van het DOM (Document Object Model) dat in browsers wordt gebruikt, is juist?
  22. Wat is voor het element met de bovenstaande CSS de breedte van de buitenkant van de linkerrand van de border tot de buitenkant van de rechterrand van de border?
  23. Neem aan dat er geen andere stijldeclaraties zijn. Welke kleur heeft de tekst „Hello” in de bovenstaande HTML?
  24. Bij de verwerking die een browser uitvoert voordat het eerste scherm wordt getoond (het kritieke renderingpad, critical rendering path), laat een <script src="app.js"> zonder attributen in <head> de HTML-parser op dat punt stoppen. Welke beschrijving van het gedrag als aan dit element het attribuut defer wordt toegevoegd, is juist?
  25. In welke volgorde worden de tekens op de console getoond als de bovenstaande JavaScript in een browser wordt uitgevoerd?
  26. Welke URL wordt volgens de same-origin policy van de browser beschouwd als URL met dezelfde origin als https://www.example.com/app/index.html?
  27. JavaScript op een pagina van https://app.example.com gebruikt fetch om een POST-verzoek met een body van Content-Type: application/json naar https://api.example.net/orders te sturen. Welke beschrijving van het gedrag van CORS in dit geval is juist?
  28. Welke beschrijving van een Service Worker is juist?
  29. Wat is bij een pagina met responsive design die ook smartphones ondersteunt, het belangrijkste doel van <meta name="viewport" content="width=device-width, initial-scale=1"> in <head>?
  30. Het antwoord voor een „mijn pagina” waarvan de inhoud per gebruiker verschilt, krijgt Cache-Control: private, max-age=60. Welke beschrijving van het effect van deze instelling is juist?
  31. Een webserver comprimeert antwoorden vóór verzending met gzip of Brotli. Bij welk van de volgende levert de compressie in het algemeen de kleinste vermindering van de overgedragen hoeveelheid gegevens op?
  32. 1,5 MB tekstgegevens worden met gzip tot een derde van de grootte gecomprimeerd en verzonden. De bandbreedte is 10 Mbit/s en de RTT is 100 ms, en voordat het verzenden van de gegevens begint, kosten de TCP-verbinding, de TLS-handshake en het HTTP-verzoek samen drie rondgangen. Neem 1 MB = 10^6 bytes en verwaarloos de tijd voor compressie en decompressie, de headers en het wachten door de congestiebeheersing van TCP. Welke waarde ligt het dichtst bij de tijd tot alle gegevens zijn ontvangen?
  33. Een CDN ontvangt 2000 verzoeken per seconde, en de cache-hitratio stijgt van 90% naar 98%. De responstijd is 20 ms bij een hit, en 200 ms bij een miss, omdat de inhoud dan van de originserver wordt opgehaald en teruggegeven; alleen verzoeken die missen, bereiken de originserver. Welke combinatie van het aantal verzoeken dat de originserver bereikt en de gemiddelde responstijd nadat de ratio 98% is geworden, is juist?
  34. Wat geeft CLS (Cumulative Layout Shift) weer, een van de Core Web Vitals, de indicatoren voor de gebruikerservaring van een webpagina?
  35. Welke koppeling van een afbeeldingsformaat voor webpagina's aan het typische gebruik ervan is passend?
  36. 3000 bytes aan beeldgegevens worden met Base64 gecodeerd en in HTML ingesloten. Hoeveel tekens telt het resultaat van de codering als er geen regeleinden worden ingevoegd?
  37. Een websysteem wordt opgebouwd uit drie lagen: een webserver, een applicatieserver en een databaseserver. Welke verwerking neemt de applicatieserver hoofdzakelijk voor zijn rekening?
  38. Welke beschrijving van een reverse proxy is juist?
  39. Bij CGI start de webserver bij elk ontvangen verzoek het programma als een nieuw proces, en het proces eindigt als de verwerking klaar is. Wat is de belangrijkste reden dat FastCGI en de aanpak met applicatieservers veel verzoeken efficiënter kunnen afhandelen dan CGI?
  40. Welke manier om de pagina's van een website te maken, genereert in de buildfase vooraf de HTML-bestanden van alle pagina's en geeft bij verzoeken die bestanden ongewijzigd terug?

Andere onderwerpen in Computersystemen