CORS

bp.chys·2020년 6월 7일
0

Network

목록 보기
11/11

정의

  • CORS(Cross-Origin Resource sharing)은 다른 도메인간 자원공유를 말한다.
  • 브라우저간 데이터를 주고 받는 과정에서 서로 다른 도메인간 API요청을 보내면 CORS 에러가 발생한다.

필요한 이유?

  • 내가 허용한 Origin 들만 요청할 수 있도록 제한하기 위함.

동작 방식

  1. 브라우저가 리소스 요청시 헤더에 추가 정보를 담아 preflight 요청을 보낸다.
    • 내 현재 오리진은 무엇이고, 어떤 메서드를 사용할 것이고, 어떤 헤더를 포함하는지 등.
  2. preflight 요청을 받은 서버는 서버가 응답할 수 있는 허용 origin들을 헤어데 담아 보낸다.
  3. 브라우저는 이 응답 헤더를 보고 요청 가능한 origin 목록에 현재 origin이 포함된다면 리소스를 전송하고 불가능하면 cors 에러를 발생시킨다.

해결방법

  • 서버에서 허용하고 싶은 origin들을 추가해주면된다.
  • spring 에서는 cors 필터를 구현하면된다.
profile
하루에 한걸음씩, 꾸준히

0개의 댓글