질문 147 · 경험 답변 가이드
CORS 오류를 해결한 경험은 면접에서 어떻게 설명할까요?
실제 경험으로 답변 구성하기
먼저 실제 프로젝트에서 어떤 프론트엔드 출처(Origin)에서 어떤 API로 요청을 보낼 때 CORS 오류가 발생했는지, 단순 요청이었는지 커스텀 헤더·메서드로 인한 Preflight(OPTIONS) 요청이었는지 상황을 짚어 설명합니다. 이어서 브라우저 Network 탭에서 OPTIONS 응답이나 본 응답 중 어디서 Access-Control-Allow-Origin, Allow-Credentials 등의 헤더가 누락·불일치했는지 확인한 과정을 말합니다. 마지막으로 개발 환경의 임시 프록시 우회에 그치지 않고 실제 운영 서버나 API 게이트웨이의 허용 출처 정책을 어떻게 안전하게 수정·검증했는지 구분해 답변합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- CORS는 서버가 요청을 못 받아서 나는 에러가 아니라 브라우저가 보안 정책상 응답 읽기를 차단하는 메커니즘임을 이해하고 있음을 보여 줍니다.
- 가끔 서버의 500 에러나 인증 실패 응답에 CORS 헤더가 빠지면서 브라우저 콘솔에는 CORS 에러처럼 보이는 경우가 있어, 상태 코드와 응답 헤더를 함께 확인했다는 점을 언급하면 좋습니다.
면접에서 자주 하는 실수
운영 환경 해결책으로 Access-Control-Allow-Origin: * 와 credentials: include를 무작정 함께 쓰려 했다거나 fetch의 mode: 'no-cors'로 해결했다고 답하면 개념 오해로 보일 수 있습니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 147번을 바탕으로 질문과 답변을 새로 정리했습니다.