동일 출처 정책 위에서 CORS가 어떻게 동작하는지를 헤더 단위로 설명할 수 있는지 본다. 여기서 답이 두루뭉술하면 프리플라이트 발생 조건, 자격 증명 처리, CSRF와의 경계 같은 후속 질문으로 깊이를 본다.
CORS는 브라우저의 동일 출처 정책 위에서, 서버가 어떤 교차 출처 요청에 응답 접근을 허용할지 헤더로 선언하는 메커니즘이다. 단순 요청은 응답의 Access-Control-Allow-Origin만 검증하지만, 메서드·헤더·콘텐츠 타입이 일정 조건을 넘으면 브라우저가 먼저 OPTIONS 프리플라이트로 허용 범위를 확인한다. 자격 증명을 동반한 요청은 와일드카드 허용과 같이 쓸 수 없어 origin을 명시적으로 관리해야 한다. 결국 CORS는 "요청 차단"이 아니라 "응답 접근 권한 통제"에 가깝다.
초기에 와일드카드로 풀고 운영하다 인증 도입 시점에 origin 명시로 바꿔야 했던 경험과 묶을 수 있다
프리플라이트 캐시(`Access-Control-Max-Age`)로 API 응답 지연을 줄여본 경험을 들 수 있다
로컬 개발에서만 CORS 에러가 나서 dev 프록시로 우회했던 경험을 본인 셋업 방식과 연결할 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.