Wat is CORS?

CORS (Cross-Origin Resource Sharing) is de manier waarop een server browsers vertelt welke andere websites de antwoorden ervan mogen lezen. Standaard kan JavaScript op https://app.example.com een verzoek sturen naar https://api.example.com, maar verbergt de browser het antwoord, tenzij de API reageert met een Access-Control-Allow-Origin-header met daarin de origin van de pagina, of *.

Bij alles wat verder gaat dan een eenvoudige GET of een eenvoudig POST-verzoek via een formulier, zoals een PUT, een DELETE of een JSON-body met een Authorization-header, vraagt de browser eerst toestemming via een preflightverzoek: een OPTIONS-verzoek met daarin de methode en headers die de browser wil gebruiken. Het echte verzoek wordt alleen verstuurd als het antwoord van de server deze toestaat.

Beschrijving van de tool

Voer de URL in waarnaar je pagina verzoeken stuurt, de origin van de pagina, de methode en eventuele aangepaste requestheaders. Klik vervolgens op CORS controleren. Onze server verstuurt dezelfde verzoeken als een browser en past de browserregels toe op de antwoorden:

  • De preflight (OPTIONS) met Access-Control-Request-Method en Access-Control-Request-Headers
  • Een GET met de Origin-header, om de CORS-headers van een normaal antwoord uit te lezen

De controles geven aan welke regel slaagt of mislukt, en de tabel vermeldt alle CORS-headers uit beide antwoorden. De methode die je kiest, wordt nooit verstuurd. Als je dus een DELETE-endpoint controleert, wordt er niets verwijderd.

De tool geeft ook aan of verzoeken met cookies zouden werken. Daarvoor is de exacte origin nodig in plaats van *, plus Access-Control-Allow-Credentials: true.

AI-assistenten die zijn verbonden met de Rapid Tool Set MCP-server kunnen dezelfde controle uitvoeren als cors_checker.

Tips

  • CORS-fouten worden veroorzaakt door de browser, niet door de server. Een verzoek dat werkt met curl of Postman kan in de browser nog steeds worden geblokkeerd, omdat deze tools CORS niet toepassen.
  • Als de preflight antwoordt met 401 of 404, behandelt de server OPTIONS als een normaal verzoek. Laat preflightverzoeken door voordat je de authenticatiecontroles uitvoert.
  • Wanneer de server per verzoek de toegestane origin kiest, moet deze ook Vary: Origin meesturen. Anders kan een CDN het antwoord voor de ene website aan een andere website leveren.