면접 질문/네트워크
[네트워크] CORS 면접 질문 및 답변 정리
그적
2024. 4. 2. 14:06
- CORS가 뭔가요?
더보기
일반적으로 웹 애플리케이션은 자신과 다른 출처에서의 리소스 요청을 금지하고 있고, 이 정책을 CORS라고 합니다. 예를 들어, 프론트엔드와 백엔드 서버가 각각 따로 존재할 때, 브라우저는 각각 다른 출처에서 리소스를 불러온다고 판단합니다. 따라서 서버에서 응답할 때 사용하는 출처를 담아 전달하고, 브라우저는 출처를 확인함으로써 모든 리소스를 포함한 응답을 받을 수 있게 되는 것입니다.
- 출처에 대해서 좀 더 구체적으로 설명해주실 수 있나요?
더보기
출처는 URL을 의미합니다. 프로토콜, 호스트 이름, 경로, 포트 번호까지 모두 동일해야 같은 출처라고 판단합니다. 따라서 같은 로컬이라도 프론트엔드와 백엔드에서 사용하는 포트 번호가 달라 CORS 에러가 발생하는 경우가 많고, 저도 이 CORS 에러를 마주해 해결해 본 적이 있습니다.
- CORS 에러를 어떻게 해결했나요?
더보기
당시 스프링 시큐리티를 이용하고 있었기 때문에, 시큐리티 필터를 이용해 응답을 할 때마다 허용되는 출처와 HTTP 메서드를 담을 수 있도록 구현했습니다.