Modern browsers & "non-simple" CORS
browser-preflighted XMLHttpRequest
methods: DELETE, PUT
or GET/POST w/ non-simple headers or Content-Type
browser "preflights" request (OPTIONS) w/ Origin, Access-Control-Request-Method, & Access-Control-Request-Headers headers
server must respond with Access-Control-Allow-Origin, Access-Control-Allow-Methods, & Access-Control-Allow-Headers headers
browser then sends the original request w/ Origin header
server must respond w/ Access-Control-Allow-Origin header