CORS(Cross-Origin Resource Sharing)
Post

CORS(Cross-Origin Resource Sharing)

CORS(Cross-Origin Resource Sharing)란 ?

웹 브라우저에서 제공하는 기능으로, 서로 다른 출처(origin)간에 자원을 공유할 수 있도록 하는 것을 의미한다. 웹 서버가 CORS 허용을 하게 되면, 서버에 접근하고자 하는 클라이언트 측 요청을 허용하게 된다.

CORS 허용 방법

  1. 클라이언트(브라우저) 설정 변경
  2. 서버 측 설정 변경
  3. proxy 서버 사용

먼저 클라이언트(브라우저)에서 설정을 통해 허용할 수 있지만 사용자들에게 일일히 설정을 가이드 해줄 수는 없으므로 현실적으로는 불가능한 방법이다. 그래서 일반적으로 서버 측에 설정해서 허용해준다. 웹 서버가 CORS 허용을 하기 위해서는, 요청을 받은 서버에서 응답에 Access-Control-Allow-Origin 헤더를 추가해야 한다. 이 헤더에 적힌 도메인은 CORS 규정에 의해 접근이 허용된 출처가 된다.

예를 들어, 아래와 같이 헤더를 추가하면, http://example.com 주소에서 서버에 접근이 허용된다.

1
Access-Control-Allow-Origin: http://example.com

* 기호를 사용하면 어떤 출처에서도 접근이 허용되나 보안상 추천하지는 않는다.

1
Access-Control-Allow-Origin: *

만약 서버 측에 설정을 불가피하게 변경할 수 없다면 proxy 서버를 통해 이를 회피할 수 있다.