2025. 9. 8. 20:23ㆍCloud Native
- 목차
Cross-Origin-Resource-Sharing
CORS(Cross-Origin Resource Sharing)는 웹 브라우저에서 구현된 보안 기능으로, 한 도메인(출처)에서 로드된 웹 페이지가 다른 도메인(출처)의 리소스(예: API, 이미지, 스크립트 등)를 요청할 수 있도록 허용하는 메커니즘입니다.
왜 필요한가?
웹 브라우저는 기본적으로 Same-Origin Policy(SOP)라는 규칙을 따르는데, 이는 동일한 출처(프로토콜, 호스트, 포트가 모두 같은 경우)에서만 리소스를 공유할 수 있도록 제한합니다. 이는 크로스-사이트 스크립팅(XSS) 같은 보안 공격을 방지하기 위함입니다.
하지만 현대 웹 애플리케이션에서는 API 호출이나 외부 리소스 사용이 빈번하므로, CORS를 통해 서버가 특정 출처의 요청을 허용할 수 있게 합니다.
어떻게 작동하나?
클라이언트(브라우저)가 다른 출처의 리소스를 요청할 때, 서버는 HTTP 응답 헤더(예: Access-Control-Allow-Origin)를 통해 허용 여부를 지정합니다.
예: Access-Control-Allow-Origin: * (모든 출처 허용) 또는 Access-Control-Allow-Origin: https://example.com (특정 출처만 허용).
복잡한 요청(예: POST 메서드나 커스텀 헤더 사용 시)에는 Preflight Request (OPTIONS 메서드)가 먼저 보내져 서버의 허가를 확인합니다.
CORS 오류가 발생하면 브라우저 콘솔에 "No 'Access-Control-Allow-Origin' header is present on the requested resource" 같은 메시지가 나타납니다. 개발 시 서버 측에서 적절히 설정해야 합니다.
'Cloud Native' 카테고리의 다른 글
| CQRS와 RDBMS 샤딩 (0) | 2025.09.09 |
|---|---|
| MongoDB 샤딩 (0) | 2025.09.09 |
| Post 등 특정 메서드 하나로 모든 것을 처리할 경우 RESTful 하지 않은 이유 (0) | 2025.09.08 |
| Nginx 서버와 Tomcat의 정적 파일 처리 (0) | 2025.09.08 |
| Nginx와 Tomcat 상호작용 방식 (0) | 2025.09.08 |