용어와 정의
영문 또는 원어: CORS
영문 정식명칭: Cross-Origin Resource Sharing
한글명: 교차 출처 리소스 공유
CORS는 브라우저가 다른 출처의 응답을 스크립트에 공개할지 판단하도록 서버가 선언하는 교차 출처 공유 규칙입니다.
정확한 의미와 원리
브라우저의 동일 출처 정책과 함께 동작합니다. 서버가 보낸 허용 출처와 자격 증명 조건 등에 따라 스크립트가 응답을 읽을 수 있는지가 결정됩니다.
쉽게 이해하는 사용 예시
업무 웹 화면이 다른 출처의 API를 호출할 때 승인된 화면 출처에만 응답 읽기를 허용하는 경우입니다.
종류와 관련 개념의 차이
출처는 스킴, 호스트와 포트의 조합입니다. CORS는 인증이나 서버 접근 제어와 같지 않으며 사전 요청이 필요한 요청과 단순 요청의 흐름도 다릅니다.
적용 조건과 오해하기 쉬운 점
허용 출처를 요청 값 그대로 반영하면 민감한 응답이 노출될 수 있습니다. CORS 오류가 보인다고 요청 자체가 서버에서 처리되지 않았다고 단정해서도 안 됩니다.
관련 용어와 글
함께 이해할 기준 개념
함께 비교할 용어
- SQL injection SQL 삽입 공격
- CSRF 사이트 간 요청 위조
- SSRF 서버 측 요청 위조
- CSP 콘텐츠 보안 정책
- Clickjacking 클릭재킹
- Session cookie 세션 쿠키
- Reflected XSS 반사형 XSS
- Stored XSS 저장형 XSS
- DOM-based XSS DOM 기반 XSS
- CSRF token 요청 위조 방지 토큰
- CSP nonce CSP 실행 허용 난수
- HttpOnly 스크립트 접근을 제한하는 쿠키 속성
- Secure cookie attribute 보호 연결 전송 쿠키 속성
- SameSite 사이트 간 쿠키 전송 조건