cs 공부

CORS에 대해 설명해주세요

늘곰's 2023. 12. 11. 17:33

1.CORS 무엇인지 설명해주세요

답변:

브라우저는 기본적으로 서로 다른 출처에 대해서 공유를 제한하는 SOP(Same Origin Policy) 따릅니다.

CORS(Cross Origin Resource Sharing) 브라우저에서 실행되는 애플리케이션에서 다른 도메인의 리소스에 접근할 있도록 권한을 부여하는 보안 기능입니다.

 

2. CORS의 동작방식은 어떻게 되나요

답변:

  1. 브라우저에서 웹 페이지가 다른 도메인의 리소스에 접근하려고 할 때 HTTP 요청을 전송합니다.
  2. 서버는 요청 헤더의 Origin 속성을 확인하여 요청이 허용된 출처인지 확인합니다.
  3. 허용된 출처라면 응답 헤더에 "Access-Control-Allow-Origin"을 포함시켜 브라우저에게 접근 권한이 있다는 신호를 보냅니다.
  4. 브라우저는 이 응답을 확인하고, 허용된 출처에서 온 응답인 경우에만 자원을 브라우저에게 전달합니다.

3. CORS 에러는 어떤 경우에 발생하나요?

답변:

다른 도메인에서 데이터를 요청하거나 서비스하는 경우, 브라우저는 CORS 에러를 발생시킵니다.

 

4. CORS를 해결하기 위한 방법은 무엇이 있나요?

서버 측에서 CORS 정책을 설정하여 다른 출처에서의 요청을 허용하도록 해야 합니다. 이를 위해 "Access-Control-Allow-Origin" 헤더를 설정하거나 다른 CORS 헤더들도 설정하여야합니다.

다른 헤더들에는  "GET, POST, PUT, DELETE"를 나타내는 Access-Control-Allow-Methods, Authorization등을 나타내는 Access-Control-Allow-Headers,  쿠키와 HTTP 인증 정보를 요청에 포함할지 여부를 나타내는Access-Control-Allow-Credentials 등이 있습니다.