Basis van webtechnologie

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?

  1. ACORS werkt ook buiten browsers, dus zonder toestemming van de server wordt zelfs een POST vanuit een opdrachtregeltool onderweg in het netwerk tegengehouden
  2. BDe browser stuurt eerst een voorafgaande controle (een preflight) met de methode OPTIONS, en verstuurt de eigenlijke POST alleen als de server in zijn headers toestemming geeft
  3. CVerzoeken naar een andere origin worden altijd zonder controle verzonden, en de JavaScript van de pagina kan het antwoord lezen, ook als de server er niets aan toevoegt
Antwoord en toelichting tonen

Antwoord: B. De browser stuurt eerst een voorafgaande controle (een preflight) met de methode OPTIONS, en verstuurt de eigenlijke POST alleen als de server in zijn headers toestemming geeft

CORS is een mechanisme dat verzoeken naar andere origins, en het lezen van de antwoorden daarop, die door de same-origin policy worden beperkt, toestaat binnen de grenzen die de server toelaat. Een POST met Content-Type: application/json is een soort verzoek dat een eenvoudig verzonden formulier niet kan maken, dus de browser gebruikt eerst OPTIONS om de methode en de headers op te geven die hij zal gebruiken en vraagt om toestemming. Geeft het antwoord van de server geen toestemming met headers zoals Access-Control-Allow-Origin, dan verstuurt de browser het eigenlijke verzoek niet. CORS is een regel die de browser handhaaft, dus de server moet zichzelf daarnaast beschermen met authenticatie en controle van bevoegdheden.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van webtechnologie

  1. Welke beschrijving van een Service Worker is juist?
  2. 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>?
  3. 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?
  4. 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?
  5. 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?