본문으로 건너뛰기
Previous
Next
CORS 뜻과 의미 | 기술 용어 사전 | pkglog

CORS

다른 이름: Cross-Origin Resource Sharing

정의

Cross-Origin Resource Sharing. 브라우저 Same-Origin Policy를 우회하는 메커니즘. 서버가 Access-Control-Allow-Origin 헤더로 허용. Preflight(OPTIONS) 요청으로 사전 검증. 다른 도메인 API 호출 시 필수

상세 설명

📋 기술 스펙

  • Same-Origin Policy: 프로토콜://도메인:포트 동일해야 접근
  • Simple Request: GET, POST, HEAD + 허용 헤더만
  • Preflight Request: OPTIONS 메서드로 사전 확인
  • Access-Control-Allow-Origin: * 또는 특정 도메인
  • Access-Control-Allow-Methods: GET, POST, PUT
  • Access-Control-Allow-Headers: Content-Type, Authorization
  • Access-Control-Allow-Credentials: 쿠키 포함 여부
  • Access-Control-Max-Age: Preflight 캐시 시간

💡 실무 활용

  • SPA: localhost:3000 → api.example.com 호출
  • CDN: CDN 도메인에서 리소스 로드
  • 마이크로서비스: 다른 서버 API 호출
  • 개발: 프론트엔드 개발 서버 → 백엔드 API

장점

  • 보안: Same-Origin Policy로 XSS 방어
  • 세밀한 제어: 도메인, 메서드, 헤더별 허용
  • 표준화: 모든 모던 브라우저 지원

⚠️ 단점 및 제약

  • Preflight 오버헤드: OPTIONS 요청 추가 지연
  • 복잡한 설정: 서버 헤더 설정 실수 빈번
  • 개발 불편: 로컬 개발 시 CORS 에러
  • 보안 오해: Access-Control-Allow-Origin: * 위험

🔧 호환성

모든 모던 브라우저 (IE 10+), 서버 프레임워크

📚 표준 정보

표준화 기구: W3C CORS Specification

출시 연도: 2014년