「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
クロス ドメイン接続専用に用意された技術。
このように、ブラウザ・サーバの双方が CORS に対応している必要がある(ここが鬼門)。
Access to fetch at 'http://localhost:8888/...' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
# | Header | 説明 |
1 | Access-Control-Allow-Method | 許可されるメソッドの一覧 |
2 | Access-Control-Allow-Headers | 許可されるヘッダの一覧 |
3 | Access-Control-Max-Age | プリフライト情報のキャッシュを保持して良い時間 |
>curl -H "Origin: http://example.com" --verbose http://localhost:8888/api/values/get * Trying ::1... * TCP_NODELAY set * Connected to localhost (::1) port 8888 (#0) > GET /api/values/get HTTP/1.1 > Host: localhost:8888 > User-Agent: curl/7.52.1 > Accept: */* > Origin: http://example.com > < HTTP/1.1 200 OK < Transfer-Encoding: chunked < Content-Type: application/json; charset=utf-8 < Server: Microsoft-IIS/10.0 < X-Powered-By: ASP.NET < Date: Thu, 05 Sep 2019 08:54:23 GMT < ["value1","value2"]* Curl_http_done: called premature == 0 * Connection #0 to host localhost left intact
なお、IE8, 9 ではサポート状況が違うため、
ライブラリのプラグイン内で条件分岐しているもよう。
Tags: :プログラミング, :通信技術, :.NET開発, :.NET Core, :ASP.NET, :ASP.NET Web API