A simple request is a cross-origin HTTP request that the browser sends without first checking permission through a separate request. It must meet the browser’s requirements for a simple request, which include requirements concerning the method, headers, and content. section 3.1.1
The browser sends the request, receives the response, and checks whether its Access-Control-Allow-Origin header permits the script’s origin. This is a browser decision, not a server error. If the request does not qualify as simple, the browser first sends a preflight HTTP OPTIONS request. section 3.1.1
