愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

CORSメモ

大分今更産業ではあるが

  • 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とかあるけどいずれみる