CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션에서 다른 도메인(Origin)으로부터 리소스에 접근할 수 있는 권한을 부여하는 메커니즘입니다. 웹 브라우저는 보안 상의 이유로 동일 출처 정책(Same-Origin Policy)에 따라 다른 도메인으로의 AJAX 요청을 제한합니다. 하지만 CORS를 사용하면 웹 애플리케이션은 다른 도메인으로부터 리소스를 요청하고 응답을 받을 수 있습니다.
예를 들어, 도메인 A에서 호스팅되는 웹 애플리케이션이 도메인 B의 API에 접근해야 한다고 가정해봅시다. 동일 출처 정책에 따라 웹 브라우저는 도메인 A에서 도메인 B로의 AJAX 요청을 차단합니다. 이때, 도메인 B의 서버는 CORS 정책을 설정하여 도메인 A로부터의 요청을 허용할 수 있습니다.(요청 받는 쪽에서 설정)
CORS를 사용하기 위해서는 다음과 같은 단계를 거칩니다:
- 서버 측 설정: 도메인 B의 서버는 응답 헤더에 Access-Control-Allow-Origin을 포함하여 허용할 도메인을 지정합니다. 이를 통해 도메인 A로부터의 요청을 허용합니다.
- 클라이언트 측 설정: 도메인 A의 웹 애플리케이션은 요청 헤더에 Origin을 포함하여 요청이 시작된 도메인을 전송합니다. 이를 통해 서버가 요청을 허용할지 결정할 수 있습니다.
- 프리플라이트 요청: 일부 요청은 사전 요청(preflight request)을 통해 서버의 허용 여부를 확인해야 합니다. 이는 OPTIONS 메서드를 사용하여 서버에 사전 요청을 보내고, 서버는 이에 대한 응답을 제공합니다.
CORS를 사용하면 웹 애플리케이션은 다른 도메인으로부터 리소스를 요청하고 응답을 받을 수 있습니다. 이를 통해 웹 애플리케이션은 다른 도메인의 API를 사용하거나, 외부 도메인에서 호스팅되는 리소스를 로드할 수 있습니다. CORS는 웹 애플리케이션의 기능과 유연성을 향상시키는 데 도움이 되는 중요한 보안 메커니즘입니다.
'[CS] IT 용어 모음' 카테고리의 다른 글
AWS S3(Simple Storage Service)란? (0) | 2024.01.16 |
---|---|
AWS Route53이란? (0) | 2024.01.11 |
AWS Cloudfront 서비스의 Function이란? (0) | 2024.01.11 |
AWS CloudFront 서비스에서 OAI(OriginAccessIdentity)란? (0) | 2024.01.11 |
AWS Cloudfront란? (0) | 2024.01.11 |
최근댓글