프론트엔드 문제 2
하루에 하나씩 FE 개발자 면접 문제 오픈 채팅방에서 제공하는 문제에 대한 답을 하는 포스팅입니다.
문제
웹 애플리케이션에서 CORS(Cross-Origin Resource Sharing) 문제를 설명하고, 이를 해결하는 방법에는 어떤 것이 있는지 설명해주세요.
내가 생각한 답
GPT 피셜 (6 / 10점)
CORS 문제는 HTTP 요청에서 발생하며, 교차 출처 리소스 공유에 있어서 동일 출처에 대해서만 받는 정책(SOP)을 의미합니다. 프로토콜, 도메인, 포트가 모두 같아야 같은 출처로서 인식할 수 있으며 하나라도 다르면 동일 출처라고 인식하지 않아 에러가 발생합니다.
이를 해결하기 위해선 CORS 헤더를 통해 도메인을 허용해줘야 하며 프론트엔드 자체에서 해결하기 위해선 프록시 서버를 통한 우회를 하면 해결할 수 있습니다.
CHAT GPT 답
CORS는 브라우저의 동일 출처 정책(Same-Origin Policy)에서 발생하는 문제입니다. 동일 출처는 프로토콜, 도메인, 포트가 모두 동일해야 하지만, 하나라도 다르면 교차 출처 요청으로 간주되어 브라우저가 요청을 차단합니다. 이는 보안 강화를 위해 존재하는 정책입니다.
주요 해결 방법으로는 서버에서 CORS 헤더를 설정하는 방법과, 개발 환경에서는 프록시 서버를 사용하는 방법이 있습니다.
서버 측 해결: Access-Control-Allow-Origin과 같은 헤더를 추가로 설정합니다. 프록시 서버: 프론트엔드와 백엔드 간의 요청을 같은 출처처럼 보이게 처리합니다.