본문 바로가기
면접 질문/네트워크

[네트워크] CORS 면접 질문 및 답변 정리

by 그적 2024. 4. 2.
  • CORS가 뭔가요?
더보기

일반적으로 웹 애플리케이션은 자신과 다른 출처에서의 리소스 요청을 금지하고 있고, 이 정책을 CORS라고 합니다. 예를 들어, 프론트엔드와 백엔드 서버가 각각 따로 존재할 때, 브라우저는 각각 다른 출처에서 리소스를 불러온다고 판단합니다. 따라서 서버에서 응답할 때 사용하는 출처를 담아 전달하고, 브라우저는 출처를 확인함으로써 모든 리소스를 포함한 응답을 받을 수 있게 되는 것입니다.

 

  • 출처에 대해서 좀 더 구체적으로 설명해주실 수 있나요?
더보기

출처는 URL을 의미합니다. 프로토콜, 호스트 이름, 경로, 포트 번호까지 모두 동일해야 같은 출처라고 판단합니다. 따라서 같은 로컬이라도 프론트엔드와 백엔드에서 사용하는 포트 번호가 달라 CORS 에러가 발생하는 경우가 많고, 저도 이 CORS 에러를 마주해 해결해 본 적이 있습니다.

 

  • CORS 에러를 어떻게 해결했나요?
더보기

당시 스프링 시큐리티를 이용하고 있었기 때문에, 시큐리티 필터를 이용해 응답을 할 때마다 허용되는 출처와 HTTP 메서드를 담을 수 있도록 구현했습니다.

 

댓글