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

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

체크리스트

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

직접 해보기

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

Chrome DevTools를 사용하여 토큰 확인

Chrome 93부터 DevTools는 선택한 프레임의 애플리케이션 패널입니다.

Chrome DevTools 
오리진 트라이얼 정보를 확인할 수 있습니다.

상단 프레임을 펼쳐 서브프레임에 사용할 수 있는 오리진 트라이얼 토큰을 검사합니다. 예를 들어 ot-iframe.glitch.me에서 데모 페이지를 보면, iframe은 토큰을 제공합니다.

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

  • 토큰 상태: 페이지에 유효한 토큰이 있는지 여부 일부 오리진 트라이얼의 경우 지리적 제한과 같은 기타 요인으로 인해 오리진 트라이얼 기능이 제공되지 않을 수 있습니다. 유효한 토큰이 있어도 사용할 수 없습니다. Chrome DevTools 상태 코드 은 오리진 트라이얼에 대한 각 코드의 의미를 설명합니다.
  • 출처: 웹 오리진이 토큰입니다.
  • Expiry Time: 토큰의 가능한 최대 (최근) 만료 날짜/시간으로, 일반적으로 시도의 종료 시점과 일치합니다. 이 날짜는 표시된 토큰의 유효 기간과 다릅니다. 내 등록에서 : 현재 토큰의 유효 기간을 표시합니다. 확장될 수 있습니다.
  • 사용 제한: 일부 무료 체험판에 설정할 수 있는 사용량 한도입니다.
  • 서드 파티: 서드 파티 일치 여부 활성화해야 합니다 이 기능은 무료 체험판 기능을 활성화해야 하는 일부 오리진 트라이얼에서 사용할 수 있습니다. 서드 파티 스크립트를 통해 여러 사이트에서 액세스할 수 있습니다.
  • 하위 도메인 일치: 하위 도메인 일치 여부 활성화해야 합니다 이렇게 하면 여러 기기에서 오리진 트라이얼 기능을 테스트할 수 있습니다. 원본의 하위 도메인(하위 도메인마다 다른 토큰을 요구하지 않음)

시도를 사용할 수 없는 경우 Chrome DevTools에서 시도 이름 옆에 경고를 표시합니다. 토큰이 만료되었거나 다른 제한사항이 있는 경우입니다.

Chrome DevTools 
만료된 토큰을 표시하는 Application 패널의 오리진 트라이얼 정보

Chrome DevTools 상태 코드

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

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

  • FeatureDisabledForUser: 이 토큰은 대체 사용 제한 '사용자 하위 집합 제외' 보기 섹션의 디자인 문서를 참조하세요.
    소스 코드 1
    소스 코드 2

  • 안전하지 않음: 요청 출처가 안전하지 않으며 안전하지 않은 출처의 체험판이 사용 설정되지 않았습니다. 오리진 트라이얼 토큰 검사기 코드에 설명된 대로 다음과 같습니다. '서드 파티 토큰의 경우 현재 출처와 스크립트 출처가 모두 안전해야 합니다. 원인 하위 도메인 일치가 있는 경우 토큰 출처가 제공된 스크립트 중 하나와 정확히 일치하지 않을 수 있습니다. 결과에 일치된 특정 출발지가 표시되지 않는 경우를 예로 들 수 있습니다. 이것은 직접 조회하여 적절한 스크립트 출처를 찾습니다. 모든 출처 비교를 다시 실행하지 않으려면 제공된 스크립트 출처 수에 따라 달라지는 단축키가 있습니다. 최소한 그렇지 않으면 서드 파티 토큰이 검증되지 않습니다.'
    소스 코드

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

  • 잘못된 형식: 토큰 형식이 잘못되었으며 파싱할 수 없습니다.
    소스 코드

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

  • 성공: 토큰의 형식이 올바르고 만료되지 않았으며 오리진 트라이얼 기능과 일치합니다. 포드가 요청될 수 있습니다
    소스 코드

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

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

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

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

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


하지만 효과가 없습니다. 🤔

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

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

Chrome 오리진 트라이얼은 Chrome 사용자를 위해 설계되었습니다. Chrome 오리진 트라이얼 토큰을 사용하지 않음 Chromium 및 기타 Chromium 기반 브라우저 등 다른 브라우저에서 무료 체험판 기능을 사용 설정합니다. 이는 Chrome 오리진 트라이얼이 Chrome에서 있습니다.

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

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

무료 체험판에 대한 액세스는 특정 버전의 Chrome으로 제한됩니다. 경우에 따라 무료 체험을 의미할 수도 있고 이 기능은 정식 버전 이전의 Chrome 채널(카나리아, 개발자, 베타)에서만 사용할 수 있습니다.

등록 페이지에서 버전 사용 가능 여부를 확인할 수 있습니다. 다음과 같습니다.

Chrome 오리진 트라이얼
퍼스트 파티 세트 및 Chrome 사용 가능 여부가 강조표시된 SameParty

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

오리진 트라이얼이 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웹 출처로 선택한 경우:

Chrome 오리진 트라이얼 
https://example.com이 웹 출처로 선택된 페이지

다음과 같은 토큰 값을 가져올 수 있습니다.

Chrome 오리진 트라이얼 
토큰 값을 보여주는 페이지

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

메타 태그에 제공된 토큰의 경우 HTML을 확인합니다.

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

헤더에 제공된 토큰의 경우 응답 헤더Chrome DevTools Network 패널:

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

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

오리진에서 제공되는 페이지에 포함된 코드에 대한 오리진 트라이얼 기능에 대한 액세스를 사용 설정하려면 메타 태그, 헤더에 또는 동일한 출처의 자바스크립트를 통해 평가판 토큰을 제공하는 경우

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

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

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

예를 들어 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 
&#39;Status: Success&#39;가 강조표시된 &#39;Application&#39; 패널의 오리진 트라이얼 정보

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

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

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

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

Chrome 오리진 트라이얼
퍼스트 파티 세트 및 SameParty(무료 체험 가능) 세부정보가 강조표시됨

종료된 시도의 경우 DevTools에 다음과 같은 내용이 표시됩니다.

Chrome DevTools 
ValidTokenNotProvided 및 Status Expired가 표시된 Application 패널의 오리진 트라이얼 정보

하지만 의견이 필요하거나 토큰의 만료가 임박하면 자동 이메일이 전송됩니다. 무료 체험판이 종료되는 시점이 아닙니다.

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

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

현재 사용자에게 무료 체험판이 제공되지 않는 경우 Chrome DevTools에서 TrialNotAllowed 경고를 표시합니다.

TrialNotAllowed 경고를 표시하는 Application 패널의 Chrome DevTools 오리진 트라이얼 정보

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

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

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

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

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

지원 중단 기능 트라이얼에 대한 사용량 제한은 새 기능에 대한 의존도가 높지 않을 수도 있습니다. 웹의 특정 기능이 차단될 수 있습니다.

일부 체험판에는 사용량을 제한하는 옵션도 있습니다. 즉, 오리진 트라이얼 기능이 일부 사용자에 대해 사용 중지되었습니다. 이 옵션은 출처의 등록 페이지에서 사용할 수 있습니다. 무료 체험판으로 시작해 보세요.

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

오리진 트라이얼 기능에 대한 사용자의 액세스 권한이 예상보다 낮은 경우 '표준 제한'이 선택합니다.

iframe은 자체 토큰 제공

오리진 트라이얼 기능에 대한 액세스를 허용하려면 iframe에서 메타 태그(HTTP 헤더에서 또는 프로그래매틱 방식으로 구현할 수 있습니다. iframe은 포함할 수 있습니다.

ot-iframe.glitch.me은 오리진 트라이얼 기능에 대한 액세스 권한을 보여줍니다. 가져올 수 있습니다. ot-iframe-3p.glitch.me은 다양한 기능을 제공합니다. 교차 출처 iframe 예

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

일부 오리진 트라이얼 기능이 Permissions-Policy의 영향을 받을 수 있습니다. 헤더 (이전 명칭: Feature-Policy 헤더)입니다. 이 내용은 실험 의도 무료 체험판 기능 또는 web.dev의 기능에 관한 개발자 문서를 참고하세요. 또는 developer.chrome.com/blog에서 확인할 수 있습니다.

액세스하려는 기능이 Permissions-Policy에 의해 차단되지 않았는지 확인하세요. 지시어를 사용합니다. Chrome DevTools Network 패널에서 응답 헤더를 확인하고 Application 패널에서 허용되는 기능의 전체 목록입니다.

Chrome DevTools 
  권한 정책이 허용된 기능을 보여주는 애플리케이션 패널

작업자는 어떨까요?

오리진 트라이얼 기능은 서비스 워커, 공유 작업자, 전담 있습니다 그러나 서비스 워커 및 공유 워커에 대한 액세스를 사용 설정하는 유일한 방법은 Origin-Trial 헤더의 토큰

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

기능에 액세스하기 전에 토큰이 제공됩니다.

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

오리진 트라이얼 데모

자세히 알아보기