TIL79-04 면접준비06: CORS란 무엇이고 어떻게 허용할 수 있나?

김태혁·2023년 4월 25일
0

TIL

목록 보기
171/205

CORS란 무엇이고 어떻게 허용할 수 있나?

  • CORS(Cross-Origin Resource Sharing) 는 웹 애플리케이션에서 다른 출처의 리소스에 접근할 수 있도록 허용하는 보안 방식입니다. 서버에서 Access-Control-Allow-Origin 헤더를 추가하고, 클라이언트는 Origin(출처) 헤더를 요청에 포함시켜야 합니다.

심화

  • CORS(Cross-Origin Resource Sharing)는 웹 애플리케이션에서 다른 출처의 리소스에 접근할 수 있도록 허용하는 보안 방식입니다. 출처(Origin)란 프로토콜, 호스트, 포트가 모두 동일한 URL을 의미합니다. 예를 들어, https://example.com과 https://www.example.com은 다른 출처입니다.

  • CORS를 허용하려면 서버 측에서 응답 헤더에 Access-Control-Allow-Origin 헤더를 추가해야 합니다. 이 헤더는 클라이언트가 요청한 출처를 나타내는 값으로 설정됩니다. 만약 모든 출처에서 리소스에 접근을 허용하려면, Access-Control-Allow-Origin 헤더에 '*'를 설정하면 됩니다.

  • 또한, 서버 측에서는 Access-Control-Allow-Methods, Access-Control-Allow-Headers 등의 다른 응답 헤더도 설정할 수 있습니다. 이 헤더들은 클라이언트가 요청할 수 있는 메서드나 허용되는 헤더 등을 지정합니다.

  • 클라이언트 측에서는 XMLHttpRequest 객체나 Fetch API 등을 사용하여 CORS 요청을 보낼 때, 요청 헤더에 Origin을 포함해야 합니다. 이는 서버가 CORS 요청임을 인식하고, 적절한 응답 헤더를 반환할 수 있도록 하는데 필요합니다.

  • 최근에는 서버 측에서 CORS를 허용하는 대신, Reverse Proxy나 API Gateway 등을 이용하여 클라이언트와 서버 사이에서 요청을 라우팅하고, CORS 문제를 해결하는 방식도 있습니다.

profile
도전을 즐기는 자

0개의 댓글