Cross-Origin Resource Sharing ( CORS )은 브라우저가 리소스 로드를 허용해야 하는 자체가 아닌 다른 출처 (도메인, 체계 또는 포트) 를 서버가 나타낼 수 있도록 하는 HTTP 헤더 기반 메커니즘입니다. CORS는 또한 서버가 실제 요청을 허용하는지 확인하기 위해 브라우저가 교차 출처 리소스를 호스팅하는 서버에 "프리플라이트" 요청을 하는 메커니즘에 의존합니다. 해당 프리플라이트에서 브라우저는 실제 요청에 사용될 HTTP 메서드와 헤더를 나타내는 헤더를 보냅니다. -MDN
Cross-Origin Resource Sharing (CORS)는 번역하자면 교차 출처 리소스 공유이다.
CORS를 이해하기 위해선 SOP를 알아야한다.
SOP는 Same Origin Policy의 약자로 동일 출처 정책이다.
Origin을 출처로 해석하는데 URL을 보면 이해하기 좋다.
URL은 Protocol, Domain, Port, Path, Query 등으로 이루어지는데 여기에서 Origin은 Protocol, domain, Port까지를 의미한다.
https://velog.io:443/seogoo12
SOP는 웹 브라우저에서 보안을 위해 Origin이 다른 요청이 들어온다면 차단하는 정책이다.
Cross-Origin Resource Sharing (CORS) 즉, 교차 출처 리소스 공유는 출처(Origin)가 다르더라도 리소스(데이터)를 주고받을 수 있도록 허용하는 정책이다.
새로운 HTTP 헤더를 추가하여 다른 출처의 리소스에 접근할 수 있도록 함으로써 작동한다.
CORS 접근제어 시나리오에는 세가지가 있다.