CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션이 다른 도메인(오리진/S3 버킷의 주소)에서 호스팅되는 리소스에 접근할 수 있도록 허용하는 메커니즘입니다. 일반적으로 브라우저에서는 동일 출처 정책(Same-Origin Policy)에 따라 스크립트가 다른 도메인의 리소스에 접근하는 것을 제한합니다. CORS는 이러한 제한을 우회하여 다른 도메인의 리소스에 접근할 수 있는 방법을 제공합니다.
CORS는 HTTP 헤더를 사용하여 클라이언트(웹 브라우저)와 서버 간의 통신을 조정합니다. 서버는 클라이언트에게 특정 도메인에서 온 요청을 허용하도록 CORS 관련 헤더를 응답으로 전송합니다. 클라이언트는 이 헤더를 확인하여 다른 도메인의 리소스에 대한 액세스가 허용되는지 결정합니다.
S3 버킷은 설정된 CORS 구성에 따라 허용된 오리진, 허용된 메서드, 허용된 헤더 등을 기반으로 다른 도메인에서 해당 버킷의 리소스에 접근할 수 있게 됩니다. 웹 애플리케이션에서 S3 버킷의 리소스를 사용하거나, 다른 도메인에서 S3 버킷을 웹 호스팅에 사용할 때 CORS 설정은 중요한 역할을 합니다.