大分今更産業ではあるが
- CORS ≠ xhr2などの特定の技術
- xhr2, canvas, SSEなどでcross originな外部リソース取得をする技術の共通基盤的な何か
- GET, POST, HEAD以外を飛ばそうとするとpreflight request(OPTIONS)が飛ぶ
- 一部のHTTP Header除くHTTP Headerを勝手に入れてもpreflightが飛ぶ
- preflight requestへのresponseでは、Access-Control-Allow-OriginとAccess-Control-Allow-Methodsを最低限つけて返すべし
- 流石に毎回preflight requestを飛ばすとか実用的でなさすぎるので、キャッシュできる仕組みがある
- キャッシュの生存期間は、preflight requestへのresponseにAccess-Control-Max-Ageをつけて決めてやる
- 他にもcredentialとかあるけどいずれみる