CORS HEADERS

CORS 헤더는 Origin, credentials, 노출 헤더를 따로 본다

Allow-Origin 하나만 맞아도 끝나는 문제가 아니다. 쿠키, 커스텀 헤더, 동적 Origin 반사까지 같이 확인해야 한다.

origincredentialsvary
Allow-Origin정확한 출처 또는 *

credentials 요청에서는 와일드카드를 쓸 수 없다.

Allow-Credentialstrue

클라이언트도 credentials include가 필요하고 쿠키 정책도 맞아야 한다.

Allow-Headers요청 헤더 허용

preflight에서 사용할 커스텀 요청 헤더를 서버가 허용해야 한다.

Expose-Headers응답 헤더 노출

JavaScript에서 읽을 커스텀 응답 헤더 이름을 명시한다.

Vary: Origin캐시 오염 방지

Origin에 따라 Allow-Origin을 바꾸면 캐시 키도 Origin을 반영해야 한다.

주의: 허용 목록 검증 없이 Origin을 그대로 반사하면 의도보다 넓은 출처에 응답을 공유할 수 있다.