2026年6月25日木曜日

CORSの味わい

 本稿は、CORSを単独の通信仕様ではなく、ブラウザがコードの出自を管理してきた歴史の一段階として読む。出発点は1990年代半ば、Netscape期に成立したSame-Origin Policyである。これは、あるWebページのスクリプトが別Originの文書や資源を勝手に読めないようにする境界だった。しかしWebは画像、CSS、scriptタグなどを通じて最初から越境的であり、2000年代にはJSONPのような非公式な回避策が広がった。CORSは、この越境をHTTPヘッダで明示的に許可する制度として標準化される。すなわち、無秩序な抜け道を、Originにもとづく許可の手続きへ変換したのである。さらに現在、この考え方はLocal Gatewayにも応用できる。CDNやローカルHTTPサーバのように検証可能なOriginを持つコードだけに、認証、署名、評価器実行、ローカルファイル読込などの能力を渡す。一方、file://data:、sandbox iframeのようなnull Originは拒否する。ここにCORSの味わいがある。CORSは単に外部APIを読む技術ではなく、出自なきコードをローカル能力から遠ざける、ブラウザ的な身分制度なのである。関連キーワード:Same-Origin Policy、Netscape Navigator、Origin、Cross-Origin Resource Sharing、CORS、JSONP、script tag、HTTP Header、Access-Control-Allow-Origin、Preflight Request、Null Origin、Opaque Origin、file://、data: URL、sandbox iframe、CDN、Local Gateway、Local Auth Server、Local Capability、Origin-Bound Capability、No-Origin No-Eval、Code Provenance、Distribution Authority、Browser-Mediated Trust、Capability-Based Security、Subresource Integrity、Signed Manifest、Build Hash、Pairing Code、Session Token

0 件のコメント:

コメントを投稿