cs 공부
CORS에 대해 설명해주세요
늘곰's
2023. 12. 11. 17:33
1.CORS 란 무엇인지 설명해주세요
답변:
브라우저는 기본적으로 서로 다른 출처에 대해서 공유를 제한하는 SOP(Same Origin Policy)를 따릅니다.
CORS(Cross Origin Resource Sharing)는 웹 브라우저에서 실행되는 애플리케이션에서 다른 도메인의 리소스에 접근할 수 있도록 권한을 부여하는 보안 기능입니다.
2. CORS의 동작방식은 어떻게 되나요
답변:
- 브라우저에서 웹 페이지가 다른 도메인의 리소스에 접근하려고 할 때 HTTP 요청을 전송합니다.
- 서버는 요청 헤더의 Origin 속성을 확인하여 요청이 허용된 출처인지 확인합니다.
- 허용된 출처라면 응답 헤더에 "Access-Control-Allow-Origin"을 포함시켜 브라우저에게 접근 권한이 있다는 신호를 보냅니다.
- 브라우저는 이 응답을 확인하고, 허용된 출처에서 온 응답인 경우에만 자원을 브라우저에게 전달합니다.
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 등이 있습니다.