What you see is a cross-origin resource preview request. The request method for such a request is OPTIONS . This is a request that the browser uses to request permission to send the actual request. You can find out more here: http://www.html5rocks.com/en/tutorials/cors/
In this particular case, the browser requests a bunch of headers (in the Access-Control-Request-Headers header). Now, in response, the Access-Control-Allow-Headers header should contain all the requested headers. In the event that there are more than the requested headers, the browser will not throw any exceptions. In this example, the response header should look like this:
Access-Control-Allow-Headers: Origin, x-requested-with, content-type, accept
All other response headers look normal. Once the server sends this response, the browser will send a second request, which is the actual data request.
source share