1. 크로스 도메인(Cross-Domain)이란?
- 웹에서 도메인은 웹 서버의 주소를 나타낸다.
- 예를 들어,
http://domain-a.com
과 http://domain-b.com
은 각기 다른 도메인이다.
- 크로스 도메인은 한 도메인에서 실행되는 웹 페이지가 다른 도메인의 리소스에 접근할 때 발생하는 상황을 의미한다.
2. 리소스 공유란?
- 웹에서 **"리소스"**는 일반적으로 이미지, CSS, JavaScript 파일, API 엔드포인트 등을 의미한다.
- 웹 페이지는 이러한 리소스들을 로드해야 원하는 기능을 수행할 수 있다.
- 리소스 공유는 한 도메인의 웹 페이지가 다른 도메인의 웹 서버에 저장된 리소스에 접근하여 사용할 수 있도록 허용하는 것을 의미한다.
3. Cors란?
- CORS(Cross-Origin Resource Sharing)는 크로스 도메인 간의 리소스 공유를 가능하게 하는 웹 보안 메커니즘이다.
- 웹 애플리케이션은 보안상의 이유로 동일 출처 정책(Same-Origin Policy)에 의해 제한된다. 이 정책에 따라 웹 페이지는 동일한 출처에서만 리소스를 불러올 수 있다.
- 예를 들어, **
http://domain-a.com
**에서 로딩된 웹 페이지가 **http://domain-b.com/api/data
**로 API 요청을 하려고 할 때, 브라우저는 동일 출처 정책을 적용하여 이 요청을 차단한다.
- CORS는 이러한 제한을 안전한 방법으로 완화하거나 해결할 수 있게 해준다.
4. CORS와 리소스 공유
- CORS는 크로스 도메인 간의 "리소스 공유"를 안전하게 가능하게 하는 웹 보안 메커니즘이다.
- 웹 애플리케이션은 보안상의 이유로 동일 출처 정책(Same-Origin Policy)에 의해 제한되기 때문에, 이러한 제한을 안전하게 완화하거나 해결해주는 역할을 한다.
- 동일 출처 정책에 따라 **
http://domain-a.com
**에서 로딩된 웹 페이지가 **http://domain-b.com/api/data
**로 API 요청을 할 때, 이 요청은 기본적으로 브라우저에 의해 차단된다.