반응형
✔️CORS란?
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)
CORS는 W3C에서 서로 다른 Origin에서 자원(Resource)을 공유할 수 있도록 하기 위해 내놓은 정책을 말합니다.
즉, 서로 다른 도메인 주소 사이에서 데이터(API 요청과 응답)을 주고받을 수 있도록 하기 위한 정책입니다.
✔️CORS 사용 목적
브라우저는 보안상의 이유로 스크립트에서 시작한 교차 출처 HTTP 요청을 제한하는데 이러한 방식을 동일 출처 정책이라고 합니다.
동일 출처 방식을 적용하면 공격을 받을 수 있는 경로를 제한하거나 해로운 문서들을 분리할 수 있다는 장점이 있지만, 외부 API를 연동하는 경우 App과 외부 API의 Origin이 다르기 때문에 자원 공유가 불가능한 상황이 발생합니다.
CORS는 브라우저와 서버 간의 안전한 교차 출처 요청 및 데이터 전송을 지원하기 때문에 보안 문제를 예방하고 허용하는 Origin만 요청할 수 있습니다.
* 동일 출처 정책(Same-Origin Policy)
어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식
✔️CORS의 동작 과정
브라우저가 자원(Resource)를 요청할 때 추가적인 헤더에 정보를 담습니다.
이때, 내 Origin이 무엇이고 어떤 메서드를 사용하여 요청할 것인지, 어떤 헤더들을 포함할 것인지를 담아 서버에 전송합니다.
서버는 서버가 응답할 수 있는 Origin들을 헤더에 담아서 브라우저에게 보냅니다.
브라우저가 이 헤더를 보고 해당 Origin에서 요청할 수 있다면 자원 전송을 허용하고, 불가능하다면 에러를 발생시킵니다.
References
반응형
'🗂 Study > 네트워크' 카테고리의 다른 글
REST, RESTful이 무엇일까?🤔 (0) | 2021.07.23 |
---|---|
쿠키🍪 와 세션 (0) | 2021.07.09 |
HTTP 메서드와 역할 (0) | 2021.07.09 |
GET 방식과 POST 방식 (0) | 2021.07.08 |
HTTP와 HTTPS의 차이점 + SSL Handshake (0) | 2021.06.30 |
댓글