Show Menu
TOPICS×

Experience Cloud Identity 서비스에서 CORS 지원

CORS(교차 도메인 리소스 공유)를 사용하면 브라우저에서 현재 도메인 이외의 도메인으로부터 리소스를 요청할 수 있습니다. Experience Cloud Identity 서비스는 이러한 클라이언트측의 교차 도메인 리소스 요청을 가능하게 하는 CORS 표준을 지원합니다. ID 서비스는 오래된 브라우저나 CORS를 지원하지 않는 브라우저에서는 JSONP 요청으로 되돌립니다.

동일 출처 정책 및 ID 서비스 요청 문제

동일 출처 정책은 웹 브라우저에서 시행하는 보안 제어 또는 제한 사항입니다. 이 수준에서 시행되면 웹 브라우저 자체가 한 페이지에서 다른 페이지로 작성된 리소스에 대한 요청이 허용되는지 또는 차단되는지 여부를 확인합니다. 요청이 동일 출처 요청인지 확인하기 위해 브라우저는 다음 항목을 비교합니다.
  • URI(Uniform Resource Identifier)
  • 호스트명(예: http://www.my-webpage-example.com)
  • 포트 번호(예: HTTP 및 HTTPS 요청용 포트 80 및 440)
브라우저는 두 페이지 모두 이러한 특성을 공유하는 경우 요청이 성공하도록 허용하고 그렇지 않은 경우 리소스 요청을 차단합니다.

CORS를 통한 동일 출처 정책 문제 해결

CORS는 여러 도메인에서 리소스를 요청할 수 있는 안전하고 효율적인 방법을 제공합니다. CORS 사양에는 브라우저가 리소스 요청을 송신, 수신 및 평가하는 데 사용하는 HTTP 헤더 세트가 포함되어 있습니다. 리소스 요청을 평가하는 것은
preflight check
. 이 검사를 통해 브라우저와 서버에서는 어떤 요청이 허용 또는 차단되는지를 확인합니다. Preflight 검사는 리소스를 요청하는 앱, API 또는 스크립트에 대해 투명합니다. 리소스 요청 프로세스에서 중요한 두 개의 헤더는 다음과 같습니다.
  • Origin
    : 요청의 소스를 식별하는 요청 헤더입니다.
  • Access-Control-Allow-Origin
    : 리소스를 요청자와 공유할 수 있는지 나타내는 응답 헤더입니다.
이러한 헤더가 어떻게 작동하는지 살펴보겠습니다. 이 예제에서는 Experience Cloud ID 서비스를 다음 사이트에 구현한 금융 서비스 회사가 있다고 가정합니다. www.finance-website.com 다음 표에는 CORS 요청 및 응답 헤더가 리소스에 대한 액세스를 확인하는 방법이 정의되어 있습니다.
작업
설명
요청
금융 회사의 페이지가 로드되어 브라우저에서
dpm.demdex.net
에 요청을 합니다. 이는 ID 서비스에서 사용하는 DCS(데이터 수집 서버)의 도메인에 대한 호출입니다. 이 도메인 간 요청에는 다음 헤더가 포함됩니다.
  • Origin:https://www.finance-website.com
응답
DCS 도메인의 응답에는 금융 회사의 사이트에 필요한 리소스에 대한 액세스 권한을 제공하는 다음 헤더가 포함됩니다.
  • Access-Control-Allow-Origin: https://www.finance-website.com
  • Access-Control-Allow-Credentials: true
useCORSOnly 도 참조하십시오.

CORS 사용의 기타 이점

아래 표에는 CORS가 ID 서비스를 사용하는 고객에게 제공하는 몇 가지 이점이 설명되어 있습니다.
이점
설명
보안 강화
CORS는 XMLHttpRequest 를 사용하여 데이터를 요청하고 전송합니다. 이 방법은 JSONP 요청보다 더 안전하며 DCS의 응답에 포함될 수 있는 임의의 JavaScript를 실행할 수 있는 방법이 없도록 보장합니다. CORS XMLHttpRequest 응답 페이로드는 ID 서비스 JavaScript에 의해 구문 분석되며 콜백 함수에서 실행되지 않습니다.
참고: 쿠키를 허용하려면
XMLHttpRequest
개체의
withCredentials
속성이
true
로 설정되어 있어야 합니다. 이 속성은 Chrome, Firefox, Internet Explorer(버전 10 이상), Opera 및 Safari에서 지원됩니다.
성능 향상
CORS는 다음과 같은 이유로 성능 향상에 도움이 됩니다.
  • 브라우저가 리소스 요청을 관리합니다. 요청 프로세스는 ID 서비스에 대해 투명합니다.
  • 비동기 JSONP 요청과 달리 브라우저가 CORS 요청의 우선순위를 결정하지 않고 큐에 넣지 않습니다.
  • ID 서비스가 허용적으로 응답합니다. 즉, URL이
    Origin
    으로 전달되면 ID 서비스에서 요청한 리소스에 대한 페이지 액세스를 허용합니다.