Chrome 오리진 트라이얼 문제 해결하기

메타 태그, 헤더, 스크립트에서 평가판 토큰과 관련된 일반적인 문제를 해결합니다.

체크리스트

오리진 트라이얼 문제를 해결하려면 제공된 링크를 사용하여 아래의 각 문제를 해결하세요.




















직접 사용해 보세요.

아래 데모는 오리진 트라이얼 토큰을 제공하고 체험판 기능에 액세스하는 각 방법을 보여줍니다.

Chrome DevTools를 사용하여 토큰 확인

Chrome 93부터 DevTools는 선택한 프레임의 Application 패널에 오리진 트라이얼 정보를 제공합니다.

Application 패널에 있는 Chrome DevTools 원본 트라이얼 정보입니다.

상단 프레임을 펼쳐 서브프레임에 사용 가능한 오리진 트라이얼 토큰을 검사합니다. 예를 들어 ot-iframe.glitch.me의 데모 페이지에서 iframe의 페이지에서 토큰을 제공하는 것을 확인할 수 있습니다.

iframe 내 페이지의 오리진 트라이얼 토큰을 보여주는 Chrome DevTools 애플리케이션 패널

  • 토큰 상태: 페이지에 유효한 토큰이 있는지 여부입니다. 일부 오리진 트라이얼의 경우 유효한 토큰이 있어도 오리진 트라이얼 기능을 사용할 수 없는 지역 제한 등 다른 요인이 있을 수 있습니다. 각 오리진 트라이얼 코드의 의미는 Chrome DevTools 상태 코드에서 확인할 수 있습니다.
  • 출처: 토큰에 등록된 웹 출처입니다.
  • 만료 시간: 토큰의 가능한 최대 (가장 늦은) 만료 날짜/시간이며, 일반적으로 무료 체험 종료와 일치합니다. 이는 내 등록에 표시되는 토큰의 유효 기한과는 다릅니다. 토큰에는 현재 토큰의 유효 기간이 표시되며 연장할 수 있습니다.
  • 사용 제한: 사용량 한도로, 일부 무료 체험판에 설정할 수 있습니다.
  • 서드 파티: 토큰에 서드 파티 일치가 사용 설정되었는지 여부입니다. 서드 파티 스크립트의 여러 사이트에서 체험판 기능에 액세스해야 하는 일부 오리진 트라이얼에서 사용할 수 있습니다.
  • Match Sub-Domains(하위 도메인 일치): 토큰에 하위 도메인 일치가 사용 설정되었는지 여부입니다. 이렇게 하면 하위 도메인마다 다른 토큰을 사용하지 않고도 한 출처의 여러 하위 도메인에서 오리진 트라이얼 기능을 테스트할 수 있습니다.

현재 사용자가 평가판을 사용할 수 없거나 토큰이 만료되었거나 다른 제한이 있는 경우 Chrome DevTools가 평가판 이름 옆에 경고를 표시합니다.

만료된 토큰을 표시하는 Chrome DevTools 원본 시도 정보

Chrome DevTools 상태 코드

  • 만료됨: 토큰의 만료일이 지났습니다. 새 만료일이 있는 새 토큰을 생성하려면 토큰을 갱신해야 합니다.
    소스 코드

  • FeatureDisabled: 무료 체험판을 사용할 수 없습니다.
    소스 코드

  • FeatureDisabledForUser: 이 토큰은 대체 사용 제한을 통해 현재 사용자를 위해 사용 중지되도록 지정되었습니다. 디자인 문서의 '사용자 하위 집합 제외' 섹션을 참고하세요.
    소스 코드 1
    소스 코드 2

  • 안전하지 않음: 요청 출처가 안전하지 않으며, 안전하지 않은 출처의 무료 체험이 사용 설정되지 않았습니다. 원본 체험판 토큰 검사기 코드에 다음과 같이 설명되어 있습니다. '서드 파티 토큰의 경우 현재 출처와 스크립트 출처 모두 안전해야 합니다. 하위 도메인 일치로 인해 토큰 출처가 제공된 스크립트 출처 중 하나와 정확하게 일치하지 않을 수 있으며 결과에 일치하는 특정 출처가 표시되지 않습니다. 즉, 적절한 스크립트 출처를 찾기 위한 직접 조회가 아닙니다. 모든 출처 비교를 다시 실행하지 않기 위해 제공된 스크립트 출처 수에 따라 지름길이 있습니다. 토큰이 하나 이상 있어야 합니다. 그렇지 않으면 서드 파티 토큰이 검증되지 않습니다.
    소스 코드

  • InvalidSignature: 토큰에 유효하지 않거나 형식이 잘못된 서명이 있습니다.
    소스 코드

  • 형식이 잘못됨: 토큰 형식이 잘못되어 파싱할 수 없습니다.
    소스 코드

  • NotSupported: 토큰으로 정의된 오리진 트라이얼이 Chromium '삽입기'(Chrome 또는 Edge와 같은 브라우저, WebView 또는 기타 사용자 에이전트)에서 지원되지 않습니다.
    소스 코드

  • 성공: 토큰의 형식이 올바르고 만료되지 않았으며 오리진 트라이얼 기능과 일치하며 예상 출처에서 요청되었습니다.
    소스 코드

  • TokenDisabled: 토큰이 사용 중지로 표시되었으며 사용할 수 없습니다.
    소스 코드

  • TrialNotAllowed: 현재 사용자는 오리진 트라이얼을 사용할 수 없습니다.
    소스 코드

  • UnknownTrial: 토큰이 알려진 시도와 일치하지 않는 기능 이름을 지정합니다.
    소스 코드

  • WrongOrigin: 요청 출처가 토큰에 지정된 출처와 일치하지 않습니다. 스키마, 호스트 이름, 포트가 포함될 수 있습니다. 이 상태는 서드 파티 토큰이 외부 자바스크립트 파일이 아닌 HTTP 헤더, 메타 태그 또는 인라인 스크립트에서 제공된 경우에도 표시됩니다.
    소스 코드

  • WrongVersion: 잘못된 토큰 버전: 현재 토큰 버전 2와 3만 지원됩니다.
    소스 코드


안 돼! 🤔

오리진 트라이얼이 예상대로 작동하지 않는 경우 다음 조건을 충족하는지 확인하세요.

Chromium이나 다른 브라우저가 아닌 Chrome에서 테스트 중입니다.

Chrome 오리진 트라이얼은 Chrome 사용자가 사용할 수 있도록 설계되었습니다. Chromium 및 기타 Chromium 기반 브라우저 등 다른 브라우저에서 체험판 기능을 사용 설정할 때 Chrome 오리진 트라이얼 토큰에 의존하지 마세요. Chrome 오리진 트라이얼이 Chrome에서 실험용으로 제공되는 기능에만 해당되기 때문입니다.

오리진 트라이얼은 FirefoxMicrosoft Edge에서도 사용할 수 있습니다. Firefox 또는 Edge 오리진 트라이얼에 등록해도 Chrome에서 기능이 사용 설정되지 않습니다.

사이트에 액세스하는 Chrome 버전에 오리진 트라이얼이 사용 설정되었습니다.

평가판에 대한 액세스는 특정 버전의 Chrome으로 제한됩니다. 경우에 따라 Canary, 개발자, 베타 등 공개 버전 이전의 Chrome 채널에서만 무료 체험판 기능을 사용할 수 있습니다.

무료 체험판의 등록 페이지에서 버전의 사용 가능 여부를 확인할 수 있습니다.

퍼스트 파티 세트 및 SameParty의
Chrome 오리진 트라이얼 페이지(Chrome 사용 가능 여부가 강조표시됨)

사용 중인 Chrome 버전은 chrome://version에서 확인할 수 있습니다.

Chrome 설정에서 오리진 트라이얼이 사용 중지되지 않았습니다.

개별 사용자가 기능이 작동하지 않는다고 보고하는 경우 Chrome 설정에서 기능이 사용 중지되지 않았는지 확인합니다. 예를 들어 chrome://settings/privacySandbox 페이지에서 개인 정보 보호 샌드박스 기능을 사용 중지할 수 있습니다.

키워드와 구문이 정확함

오리진 트라이얼 토큰에 적절한 키워드와 구문을 사용해야 합니다.

퍼스트 파티 사용의 경우 origin-trial 메타 태그에 토큰을 제공할 수 있습니다.

<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

Origin-Trial 응답 헤더에서 토큰을 제공할 수도 있습니다. 다음은 Node.js에서 Express를 사용하는 예입니다.

app.use(function(req, res, next) {
  res.setHeader('Origin-Trial', 'Aj4DysCv3VjknU3...')
  next();
});

JavaScript를 사용하여 토큰을 제공할 수도 있습니다.

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

퍼스트 파티 토큰 출처가 페이지 출처와 일치함

무료 체험판 등록 시 선택한 웹 출처 값이 토큰을 제공하는 메타 태그 또는 헤더가 있는 페이지의 출처와 일치하는지 확인합니다.

예를 들어 https://example.com웹 출처로 선택한 경우:

웹 오리진으로 선택된 https://example.com을 보여주는 Chrome 오리진 트라이얼 페이지

다음과 같은 토큰 값을 얻을 수 있습니다.

Chrome 오리진 트라이얼 페이지에
토큰 값이 표시되어 있습니다

이 값이 문제를 해결 중인 페이지에서 사용된 토큰과 일치하는지 확인하세요.

메타 태그에 제공된 토큰의 경우 HTML을 확인하세요.

  <meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">

헤더에 제공된 토큰의 경우 Chrome DevTools 네트워크 패널응답 헤더에서 토큰 값을 확인할 수 있습니다.

오리진 트라이얼 응답 헤더를 보여주는 Chrome DevTools 네트워크 패널

퍼스트 파티 토큰은 이를 사용하는 출처에서 제공됩니다.

출처에서 제공되는 페이지에 포함된 코드의 오리진 트라이얼 기능에 액세스할 수 있도록 하려면 메타 태그, 헤더 또는 동일한 출처의 JavaScript를 통해 체험판 토큰을 제공하세요.

토큰에 등록된 출처는 토큰을 제공하는 출처와 일치해야 합니다.

서드 파티 토큰 출처가 스크립트 출처와 일치함

다른 오리진에 삽입된 스크립트의 오리진 트라이얼에 참여하기 위해 등록할 수 있습니다.

예를 들어 javascript-library.example에서 제공되는 스크립트가 오리진 트라이얼에 참여하려면 javascript-library.example에 대한 서드 파티 매칭에 토큰을 등록해야 합니다.

선택된 서드 파티 매칭이 표시된 Chrome 오리진 트라이얼 등록 페이지

서드 파티 토큰의 출처 값은 토큰을 주입하는 스크립트의 출처와 일치해야 합니다.

서드 파티 스크립트가 서드 파티 토큰을 사용함

스크립트가 아닌 오리진용 토큰을 등록하는 것만으로는 서드 파티 스크립트가 사이트의 오리진 트라이얼에 참여하도록 사용 설정할 수 없습니다.

서드 파티 스크립트는 다음과 같은 코드를 사용하여 서드 파티 일치가 사용 설정된 토큰을 사용하고 스크립트 자체를 통해 삽입되어야 합니다 (사이트의 메타 태그 또는 헤더에 포함되지 않음).

function addTrialToken(tokenContents) {
  const tokenElement = document.createElement('meta');
  tokenElement.httpEquiv = 'origin-trial';
  tokenElement.content = tokenContents;
  document.head.appendChild(tokenElement);
}

서드 파티 토큰은 메타 태그, HTTP 헤더 또는 인라인 스크립트가 아닌 외부 스크립트를 통해 제공됩니다.

서드 파티 토큰은 토큰을 삽입한 스크립트의 출처를 기준으로 검증되지만 정적 마크업의 인라인 스크립트와 <meta> 태그에는 출처 (즉, 소스 URL)가 없습니다.

즉, 서드 파티 토큰은 <meta> 태그나 인라인 스크립트가 아닌 외부 스크립트를 통해 제공되어야 합니다. 토큰을 삽입하는 외부 스크립트가 포함된 페이지와 동일한 출처에서 온 것인지, 아니면 다른 출처에서 온 것인지(스크립트의 출처가 시도에 등록된 출처와 일치한다면)는 중요하지 않습니다.

ot-iframe-3p.glitch.me에서 데모를 확인할 수 있습니다.

오리진 트라이얼 기능 액세스는 트라이얼 토큰을 제공하는 데 사용되는 메서드에 지원됩니다.

오리진 트라이얼 기능에 액세스하는 일부 유형의 경우 특정 방식으로 체험판 토큰을 제공해야 합니다. 예를 들어 서비스 워커 및 공유 워커에 원본 체험판 액세스를 사용 설정할 수 있는 유일한 방법은 Origin-Trial 헤더에 토큰을 제공하는 것입니다.

하위 도메인에서 사용되는 토큰에 하위 도메인 일치가 사용 설정되었습니다.

사이트의 일부 페이지에서 오리진 트라이얼 기능이 작동하지 않는 것 같으면 토큰을 게재하는 하위 도메인에 토큰이 올바르게 설정되어 있는지 확인하세요.

오리진 트라이얼에 등록할 때 선택적으로 오리진의 모든 하위 도메인과 일치하도록 선택할 수 있습니다.

하위 도메인 일치가 선택된 것으로 표시된 Chrome 오리진 트라이얼 등록 페이지

하위 도메인을 서드 파티 토큰과 일치시킬 수도 있습니다.

서드 파티 일치 및 하위 도메인 일치가 선택된 것을 보여주는 Chrome 오리진 트라이얼 등록 페이지

공개 접미사 목록에 있는 출처에는 하위 도메인 토큰이 발행되지 않습니다. 예를 들어 https://appspot.com 또는 https://github.io와 같은 출처는 등록할 수 없지만 https://example.appspot.com 또는 https://example.github.io와 같은 출처 내의 도메인에는 등록할 수 있습니다.

토큰이 여전히 유효합니다.

토큰은 생성 후 6주 동안 유효합니다. 그 후에도 의견을 제출하여 유효 기한을 연장해야 합니다. 웹 개발자를 위한 오리진 트라이얼 가이드에서는 토큰이 전체 오리진 트라이얼 동안 유효한지 확인하는 방법을 설명합니다.

Chrome 오리진 트라이얼의 내 등록 페이지에서 활성 토큰을 확인할 수 있습니다.

Chrome 오리진 트라이얼 
내 등록 페이지에 유효 기간이 계속 표시됨

토큰이 여전히 유효한 경우 Chrome DevTools에서 상태 Success를 표시합니다.

Chrome DevTools가 Application 패널에서 오리진 트라이얼 정보를 표시하고 상태: Success가 강조 표시되어 있음

토큰이 만료된 경우 DevTools에 Expired 상태가 표시되고 내 등록 페이지만료된 토큰 섹션이 표시됩니다.

Chrome 오리진 트라이얼 
내 등록 페이지에 만료된 토큰이 표시됩니다.

오리진 트라이얼이 종료되지 않음

등록 페이지에서 오리진 트라이얼 종료일을 확인할 수 있습니다.

퍼스트 파티 세트 및 SameParty의 Chrome 오리진 트라이얼 페이지에 체험판 사용 가능한 세부정보가 강조 표시되어 있음

종료된 무료 체험판의 경우 DevTools에 다음과 같이 표시됩니다.

ValidTokenNotProvided 및 상태 만료됨을 보여주는 Chrome DevTools 오리진 트라이얼 정보가 애플리케이션 패널에 있음

의견이 필요하거나 토큰이 만료될 때가 되면 자동 이메일이 전송되지만 무료 체험판이 종료되면 이메일이 전송됩니다.

현재 사용자는 오리진 트라이얼을 사용할 수 있습니다.

유효한 토큰을 제공하더라도 특정 사용자는 일부 오리진 트라이얼을 사용할 수 없습니다.

현재 사용자가 무료 체험판을 사용할 수 없는 경우 Chrome DevTools에 TrialNotAllowed 경고가 표시됩니다.

애플리케이션 패널에 TrialNotAllowed 경고가 표시된 Chrome DevTools 오리진 트라이얼 정보가 표시되어 있습니다.

각 오리진 트라이얼마다 사용 제한 및 사용 가능 여부에 관한 정보가 제공됩니다.

모든 웹 플랫폼 기능과 마찬가지로 기능 감지를 사용하여 오리진 트라이얼 기능이 지원되는지 먼저 확인해야 합니다.

오리진 트라이얼 사용 제한이 초과되지 않음

기본적으로 오리진 트라이얼 기능은 트라이얼에 유효한 토큰이 있는 모든 페이지에서 사용 설정됩니다.

드문 경우를 제외하고 오리진 트라이얼 사용은 모든 Chrome 페이지 로드의 최대 0.5% 로 제한됩니다. 모든 Chrome 사용자의 총 사용량이 해당 한도를 초과하면 오리진 트라이얼 기능이 사용 중지됩니다. DevTools에 토큰 상태가 비활성화됨으로 표시됩니다.

지원 중단 체험판에는 새로운 기능이 도입되지 않으므로 무료 체험판 기능에 종속되는 웹의 상당 부분을 차지할 위험이 없습니다. 지원 중단 체험판에는 사용량 한도가 없습니다.

일부 체험판에는 사용량을 제한하는 옵션도 제공됩니다. 즉, 일부 사용자의 경우 오리진 트라이얼 기능이 사용 중지됩니다. 이 옵션은 다음을 제공하는 오리진 트라이얼의 등록 페이지에서 사용할 수 있습니다.

사용 제한이 표시된 Chrome 오리진 트라이얼 등록 페이지

오리진 트라이얼 기능에 대한 사용자의 액세스 권한이 예상보다 낮은 경우 '표준 한도'가 선택되어 있는지 확인하세요.

iframe은 자체 토큰 제공

오리진 트라이얼 기능에 대한 액세스를 허용하려면 iframe에서 메타 태그, HTTP 헤더로 또는 프로그래매틱 방식으로 토큰을 제공해야 합니다. iframe이 포함된 페이지에서 사용 설정된 기능에 대한 액세스 권한은 iframe에 상속되지 않습니다.

ot-iframe.glitch.me는 iframe에서 오리진 트라이얼 기능에 액세스하는 방법을 보여줍니다. ot-iframe-3p.glitch.me는 여러 교차 출처 iframe 예를 제공합니다.

권한 정책이 올바르게 구성되었습니다.

일부 오리진 트라이얼 기능은 Permissions-Policy 헤더 (이전의 Feature-Policy 헤더)의 영향을 받을 수 있습니다. 실험 인텐트에서 무료 체험판 기능을 확인하거나 web.dev 또는 developer.chrome.com/blog의 기능 관련 개발자 문서에서 확인할 수 있습니다.

액세스하려는 기능이 Permissions-Policy 지시어에 의해 차단되지 않았는지 확인합니다. Chrome DevTools 네트워크 패널에서 응답 헤더를 확인하고 허용된 기능의 전체 목록을 Application 패널에서 볼 수 있습니다.

권한 정책이 허용된 기능이 표시된 Chrome DevTools 애플리케이션 패널

작업자는 어떻습니까?

서비스 워커, 공유 작업자, 전용 작업자가 오리진 트라이얼 기능을 사용할 수 있습니다. 하지만 서비스 워커와 공유 워커의 액세스를 사용 설정하는 유일한 방법은 Origin-Trial 헤더에 토큰을 제공하는 것입니다.

전용 작업자는 상위 문서에서 사용 설정한 기능에 대한 액세스 권한을 상속합니다.

기능에 액세스하기 전에 토큰이 제공됨

체험판 기능에 액세스하기 전에 오리진 트라이얼 토큰을 제공해야 합니다. 예를 들어 페이지에서 자바스크립트를 통해 토큰을 제공하는 경우 토큰을 제공하는 코드가 무료 체험판 기능에 액세스하려는 코드보다 먼저 실행되어야 합니다.

오리진 트라이얼 데모

자세히 알아보기