CORS(Cross-Origin Resource Sharing)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처(프로토콜, 도메인, 포트번호)의 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다.
간단히 말해서 CORS는 한 출처(도메인)에서 실행되는 웹 페이지가 다른 출처의 리소스(예: 데이터, 이미지, 스크립트 등)를 요청할 수 있는지 여부를 결정하기 위해 웹 브라우저가 사용하는 일련의 규칙을 정의합니다.
CORS의 작동 방식은 다음과 같습니다.
Access-Control-Allow-Origin
: 이 헤더를 사용하면 서버는 어떤 도메인에서 오는 요청을 허용할 지를 지정할 수 있습니다. 허용하려는 도메인을 이 헤더에 명시하면, 해당 도메인에서 온 요청에 대해 브라우저가 보안을 우회하고 접근을 허용합니다.``Access-Control-Allow-Methods
: 이 헤더는 원본 간 요청에 허용되는 HTTP 메서드(예: GET, POST, PUT, DELETE)를 나열합니다.Access-Control-Allow-Headers
: 이 헤더는 실제 요청에 포함될 수 있는 HTTP 헤더를 나열합니다.Access-Control-Allow-Credentials
: 이 헤더는 브라우저가 요청에 자격 증명(예: 쿠키 또는 HTTP 인증)을 포함해야 하는지 여부를 나타냅니다.Access-Control-Expose-Headers
: 이 헤더는 요청 클라이언트가 액세스할 수 있는 응답 헤더를 나열합니다.