タグ

CORSに関するjoltkunのブックマーク (6)

  • CORSの仕様はなぜ複雑なのか

    Webアプリケーションを実装していると高確率で CORS の問題にぶつかります。CORSがどのようなものかはリンクしたMDNなど既存の解説を読むのが手っ取り早いと思いますが、「なぜそのように設計されたのか」という観点での説明はあまり見ないため、昔の資料の記述や現在の仕様からの推測をもとに整理してみました。 CORSとは 現代のWebはドメイン名をもとにした オリジン (Origin) という概念 (RFC 6454) をもとに権限管理とアクセス制御を行っています。その基となるのが以下のルールです。 Same-origin policy (同一生成元ポリシー): 同じオリジンに由来するリソースだけを制御できる。 上記Wikipedia記事によるとSOPの概念は1995年のNetscape 2.02に導入されたのが最初のようです。当時のドキュメンテーションを読む限り、これはウインドウ越しに別

    CORSの仕様はなぜ複雑なのか
  • 【Spring Boot】CORSの設定

    CORS とは CORS の基礎 CORS は、Cross-Origin Resource Sharing の略で、ブラウザが別のオリジンに対して JavaScript によるリクエストを送信した場合に、 そのリクエストをブロックするかどうかを設定するためのものです。 オリジンとは、プロトコル、ホスト、ポートの組み合わせのことで、どれか 1 つでも違う場合は別のオリジンとなります。 つまり、http://localhost:8080の API に対して、http://localhost:3000のページからリクエストを送信することは、CORS の対象になります。 CORS の設定は、API 側で行います。 プリフライトリクエスト ブラウザ(クライアント)は別のオリジンにリクエストを送信する前に、当にリクエストを送信していいかの情報を得るためのリクエストを送信します。 これをプリフライトリ

    【Spring Boot】CORSの設定
  • CORSの理解を深める

    初めに AngularでWEBアプリケーションを初めて書いたときに出たCORS関連のエラーを解決方法だけ検索して解決したものの、仕組みがわからないままずっと引きずっていたので調べてまとめてみます。 CORSとは Closs Origin Resource Sharingの略 日語で表すと『クロスオリジン間リソース共有』となります。 つまり、異なるオリジン間(クロスオリジン)でリソース共有をするためのセキュリティメカニズムです。 例えば下の図のようにdomain-a.comのWEBページ内で使用する画像を domain-b.comから取得したい場合にCORSを使用します。 http://developer.mozilla.org/ja/docs/Web/HTTP/CORS Originとは あるWEBコンテンツにアクセスするために使用されるURLの プロトコル + ホスト + ポートがその

    CORSの理解を深める
    joltkun
    joltkun 2023/01/05
  • Nuxt.jsでログインフォームが作りたい~CORSと戦ってみた~ - HBソフトスタジオ

    HBソフトスタジオのみよしです。 先日Nuxt.jsでログインフォームを作成していて、とあるエラー文に散々苦しめられたので今回はそのお話をしたいと思います。 そのエラーとは CORS header ‘Access-Control-Allow-Origin’ missing!!! そう、CORS(Cross-Origin Resource Sharing)のお話です。 そもそもCORSって何? Cross-Origin Resource Sharing の略、日語訳すると「オリジン間リソース共有」です。 まずはオリジンについて確認しましょう。 オリジンとは「スキーム + ホスト + ポート番号」の事。 オリジンの「スキーム + ホスト + ポート番号」が一致している場合に両者は”同じオリジン”となります。 上記を踏まえて同一オリジンポリシー(Same Origin Policy)も理解しち

    joltkun
    joltkun 2023/01/05
  • Origin (オリジン) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN

    ウェブコンテンツのオリジン (Origin) は、ウェブコンテンツにアクセスするために使われる URL の スキーム (プロトコル)、 ホスト (ドメイン)、 ポート番号 によって定義されます。スキーム、ホスト、ポート番号がすべて一致した場合のみ、 2 つのオブジェクトは同じオリジンであると言えます。 操作によっては同じオリジンのコンテンツに限定されており、この制約は CORS を使用して緩和することができます。 これらはスキーム (http) とホスト名 (example.com) が同じなので同一オリジンであり、ファイルパスが異なるのは関係がありません。 http://example.com/app1/index.html http://example.com/app2/index.html サーバーは HTTP コンテンツを配信するのに既定で 80 番ポートを使うため、これらは同一オ

    Origin (オリジン) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN
    joltkun
    joltkun 2023/01/05
    “スキーム、ホスト、ポート番号がすべて一致した場合のみ、 2 つのオブジェクトは同じオリジンであると言えます。”
  • オリジン間リソース共有 (CORS) - HTTP | MDN

    HTTP ガイド リソースと URI ウェブ上のリソースの識別 データ URL MIME タイプ入門 よくある MIME タイプ www 付きと www なしの URL の選択 HTTP ガイド HTTP の基 HTTP の概要 HTTP の進化 HTTP メッセージ 典型的な HTTP セッション HTTP/1.x のコネクション管理 プロトコルのアップグレードの仕組み HTTP セキュリティ Content Security Policy (CSP) HTTP Strict Transport Security (HSTS) X-Content-Type-Options X-Frame-Options X-XSS-Protection サイトの安全化 HTTP Observatory HTTP アクセス制御 (CORS) HTTP 認証 HTTP キャッシュ HTTP の圧縮 HTT

    オリジン間リソース共有 (CORS) - HTTP | MDN
  • 1