Preflight (OPTIONS)
When a cross-origin request is not “simple” (for example a custom header, or certain methods), browsers first send an OPTIONS preflight asking permission.
Request side
OriginAccess-Control-Request-Method— the method the actual request will useAccess-Control-Request-Headers— non-simple headers the actual request will send
Response side
Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-HeadersAccess-Control-Max-Age— optional preflight cache hintAccess-Control-Allow-Credentialswhen cookies/auth are involved
CORSProbe can send a simulated OPTIONS with those request headers and explain whether the Allow-* answers match.