CORS 헤더는 브라우저 노출, 인증정보, 캐시 키를 함께 맞춘다
Allow-Origin만 맞추면 끝나지 않는다. 쿠키를 보낼지, JavaScript가 읽을 헤더를 노출할지, CDN이 Origin별로 분리할지도 같이 정해야 한다.
| 헤더 | 역할 | 확인할 점 |
|---|---|---|
| Allow-Origin | 응답 공개 대상 | * 또는 구체 Origin 중 하나로 명확히 |
| Allow-Credentials | 쿠키/인증정보 포함 | SameSite=None; Secure와 함께 검토 |
| Expose-Headers | JS가 읽을 수 있는 응답 헤더 | Location, RateLimit 같은 커스텀 헤더 노출 |
| Max-Age | preflight 결과 캐시 | 긴 캐시는 정책 변경 반영을 늦춘다 |
운영 기준: CORS는 보안 경계라기보다 브라우저 공개 정책이다. 인증과 캐시는 별도 정책으로 같이 설계해야 한다.