CORS(Cross-Origin Resource Sharing)
- 추가 HTTP헤더를 사용하여 한 출처에서 실행중인 웹 애플리케이션이
다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에
알려주는 체제
- origin(출처)
- protocol, host, port로 구성
- http://www.myshop.com:8080
-> http://(protocol), www.myshop.com(host), 8080(port)
- 앞의 예시와 같이 명확히 port번호가 적혀 있다면 3가지 모두 같아야 동일 출처로 인식
- 생략되어 있다면 2가지 -> 각 웹에서 사용하는 http, https 프로토콜의 기본 포트가 정해져 있기 때문!
- 하지만 경우에 따라서는 이 셋이 모두 같아도 다른 출처로 인식될 수 있다
SOP(Same-Origin policy)
- 같은 출처에서만 리소스를 공유할 수 있다는 보안 정책
- 그런데 같은 출처에서 제공되는 리소스만 사용하기는 어렵다
-> 예외 조항을 두어 특정 경우에 출처가 다른 리소스를 허용하도록!
-> 그 중 하나가 CORS정책을 지킨 리소스 요청!
- 다른 출처의 리소스를 사용하기 위해서는 CORS정책을 지킨 리소스 요청을 하여 SOP의 예외 조항에 맞도록 구성해야 한다
왜 이런 정책들이 만들어 졌을까?