CORSを図解してみた(Cross Origin Resource Sharing)

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ม.ค. 2025

ความคิดเห็น • 7

  • @TECH-v9q
    @TECH-v9q 4 ปีที่แล้ว

    oauthフローの詳細解説もお願いしたいです🥺

  • @TECH-v9q
    @TECH-v9q 4 ปีที่แล้ว

    登録、ログイン、セッションもお願いします🤲
    JWTトークン認証、リフレッシュトークンあたりもお願いしたいです🥺

  • @TECH-v9q
    @TECH-v9q 4 ปีที่แล้ว

    corsってリクエストを制限するのではなく、レスポンスの読み取りを制限するのではなかったでしたっけ?

    • @highengineer8502
      @highengineer8502  4 ปีที่แล้ว

      ご質問ありがとうございます!
      その挙動は「シンプルなリクエスト」の時の挙動かと思います!(CORSを定義しているfetch standardでは「シンプルなリクエスト」という定義は使われていないのですが、MDNのドキュメントでは使われている用語のため拝借します)
      例えばGET、かつ特定のリクエストヘッダのみ含むなど、一定の条件を満たすリクエストはシンプルなリクエストとして扱われ、preflight requestは送られません。直接サーバにリクエストが飛んで、CORS関連のヘッダを受け取ります
      例えばこの時にaccess-control-allow-originヘッダにリクエスト作成元のオリジンが含まれていなければ、fetchリクエストの中で例外が発生して、レスポンスデータの読み取りが制限されます(この動作はブラウザが保証しています)
      なのでシンプルなリクエストの時はようつべ様が仰る通りの挙動(レスポンスは受け取っているけど、ブラウザが読み込めない)、それ以外のリクエスト(DELETEなど)の時は、図解した通りの流れになるものと理解しています
      この点は動画の中でも補足しておくべきだったかもしれません...ご指摘ありがとうございます!

    • @highengineer8502
      @highengineer8502  4 ปีที่แล้ว

      th-cam.com/video/1KD7bGbIc28/w-d-xo.html
      こちらで図解してみました!

    • @TECH-v9q
      @TECH-v9q 4 ปีที่แล้ว

      High Engineer postもシンプルリクエストだから、リクエスト自体はサーバーに届いてpostされるので、csrf対策しとかないといけないってことですね!

    • @TECH-v9q
      @TECH-v9q 4 ปีที่แล้ว

      putとかdeleteなどのシンプルリクエストではないリクエストの場合、cors制約でリクエストがサーバーに届いて実行されないから、csrf対策不要になりますか?