← Artikelen

HTTP FIELD GUIDE

CORS en HTTP-verzoeken vanuit de browser

Begrijp waarom cURL werkt terwijl hetzelfde verzoek op een webpagina mislukt.

Waarom blokkeert de browser?

Een webpagina volgt het same-originbeleid. Voor fetch naar een andere oorsprong moet de doelserver toegang verlenen met CORS-antwoordheaders. Sommige methoden en headers veroorzaken eerst een OPTIONS-preflight. Als die mislukt, wordt het echte verzoek mogelijk niet verzonden.

Wat is anders aan cURL?

cURL valt niet onder de CORS-regels van de browser. Succes in de terminal bewijst bereikbaarheid vanaf die computer, niet dat een webpagina het antwoord mag lezen. De browser beheert ook Host en Cookie en kan onveilig HTTP vanaf een HTTPS-pagina blokkeren.

Hoe onderzoek je dit?

Controleer in het netwerkpaneel de preflight, Origin en antwoordheaders. Vergelijk Access-Control-Allow-Origin en toegestane methoden en headers met het verzoek. no-cors is geen oplossing: het levert een ondoorzichtig antwoord op zonder leesbare status of inhoud. Als de API geen CORS ondersteunt, gebruik dan een vertrouwde lokale client of een goed beveiligde relay.

Bronnen