CORS(Cross-Origin Resource Sharing)란 ?
웹 브라우저에서 제공하는 기능으로, 서로 다른 출처(origin)간에 자원을 공유할 수 있도록 하는 것을 의미한다. 웹 서버가 CORS 허용을 하게 되면, 서버에 접근하고자 하는 클라이언트 측 요청을 허용하게 된다.
CORS 허용 방법
- 클라이언트(브라우저) 설정 변경
- 서버 측 설정 변경
- proxy 서버 사용
먼저 클라이언트(브라우저)에서 설정을 통해 허용할 수 있지만 사용자들에게 일일히 설정을 가이드 해줄 수는 없으므로 현실적으로는 불가능한 방법이다. 그래서 일반적으로 서버 측에 설정해서 허용해준다. 웹 서버가 CORS 허용을 하기 위해서는, 요청을 받은 서버에서 응답에 Access-Control-Allow-Origin
헤더를 추가해야 한다. 이 헤더에 적힌 도메인은 CORS 규정에 의해 접근이 허용된 출처가 된다.
예를 들어, 아래와 같이 헤더를 추가하면, http://example.com
주소에서 서버에 접근이 허용된다.
1
Access-Control-Allow-Origin: http://example.com
*
기호를 사용하면 어떤 출처에서도 접근이 허용되나 보안상 추천하지는 않는다.
1
Access-Control-Allow-Origin: *
만약 서버 측에 설정을 불가피하게 변경할 수 없다면 proxy 서버
를 통해 이를 회피할 수 있다.