CORS (Access-Control-Allow-Origin) 정리
2021. 7. 19. 14:48
CORS란?
HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제
Ex) https://domain-a.com의 프론트엔드 Js코드가 XMLHttpRequest를 사용하여 https://domain-b.com/data.json을 요청하는 경우
이 API를 사용하는 웹 애플리케이션은 보안 상의 이유로 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한한다.
따라서 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 CORS 헤더를 포함한 응답을 반환해야 한다.
Ex) XMLHttpRequest와 Fetch API는 동일 출처 정책을 따릅니다
CORS 체체는 브라우저와 서버 간의 안전한 교차 출처 요청 및 데이터 전송을 지원한다.
최신 브라우저는 XMLHttpRequest 또는 Fetch와 같은 API에서 CORS를 사용하여 교차 출처 HTTP 요청의 위험을 완화한다.