Sec-Fetch-Mode and blocked CORS

Benjamin E. picture Benjamin E. · Sep 19, 2019 · Viewed 12.2k times · Source

So I have the same website making the same request to the same server on (1) Chrome 76 and (2) Chrome 77 from different networks and computers.

One request has (1) Sec-Fetch-Mode: no-cors, Sec-Fetch-Site: cross-site and the other one (2) Sec-Fetch-Mode: cors, Sec-Fetch-Site: same-site. The one with no-cors fails with a 400 to a C# Web API endpoint with CORS enabled (for years and thousands of different users on all kinds of devices).

What is going on? There is talk of a Chrome bug not sending that header for pre-flight, but there it is and set to no-cors.

Security setting or bug in Chrome? Fixable server-side or front-end-side?

This is sent by an XMLHttpRequest, not the new Fetch-API.

Answer