Устраните распространенные проблемы с пробными токенами в метатегах, заголовках и скриптах.
В этом руководстве предполагается практическое знание пробных версий Origin в Chrome . Подробные часто задаваемые вопросы можно найти в руководстве по пробным версиям Origin для веб-разработчиков .
Если вы столкнулись с ошибкой в исходных пробных версиях в Chrome, отправьте новую проблему в репозиторий исходных пробных версий Chrome на GitHub.
Контрольный список
Чтобы устранить неполадки в исходной пробной версии, устраните каждую из проблем, используя предоставленные ссылки.
Используйте Chrome DevTools для проверки токенов
DevTools предоставляет информацию об исходной пробной версии на панели «Приложение» для выбранного кадра.
Разверните верхний фрейм, чтобы проверить исходные пробные жетоны, доступные для подкадра. Например, для демонстрационной страницы ot-iframe.glitch.me вы можете видеть, что страница в iframe предоставляет токен.
- Статус токена : имеет ли страница действительный токен. Обратите внимание, что для некоторых пробных версий происхождения могут существовать и другие факторы, например географические ограничения, из-за которых функция пробной версии происхождения недоступна, несмотря на наличие действующего токена. Коды статуса Chrome DevTools объясняют значение каждого из кодов для исходных пробных версий.
- Origin : веб-источник, зарегистрированный для токена.
- Expiry Time : максимально (самая поздняя) возможная дата и время истечения срока действия токена, которое (по большей части) совпадает с окончанием пробной версии. Это не то же самое, что дата действия до для токена, отображаемая в разделе «Мои регистрации» , которая показывает, как долго токен действителен и может быть продлен .
- Ограничение использования : ограничения на использование, которые могут быть установлены для некоторых пробных версий.
- Третья сторона : включено ли для токена стороннее сопоставление . Это доступно для некоторых исходных пробных версий, когда к функции пробной версии необходимо получить доступ на нескольких сайтах из сторонних скриптов.
- Сопоставить поддомены : включено ли для токена сопоставление поддоменов . Это позволяет протестировать пробную функцию источника на нескольких субдоменах источника без необходимости использования отдельного токена для каждого субдомена.
Chrome DevTools отображает предупреждение рядом с названием пробной версии, если пробная версия недоступна для текущего пользователя, срок действия токена истек или существуют другие ограничения.
Коды состояния
В Chrome DevTools вы можете встретить следующие коды состояния.
Срок действия истек : срок действия токена истек. Чтобы повторно включить пробную версию источника, необходимо обновить токен. Создайте новый токен с новым сроком действия. Исходный код
FeatureDisabled : пробная версия отключена для использования. Исходный код
FeatureDisabledForUser : этот токен был обозначен как отключенный для текущего пользователя с альтернативным ограничением использования. См. раздел «Исключения подмножества пользователей» проектной документации . Исходный код 1 и Исходный код 2
Небезопасно : источник запроса небезопасен, и пробная версия не включена для небезопасного источника. Как поясняется в коде валидатора пробного токена источника : «Для сторонних токенов как текущий источник, так и источник сценария должны быть безопасными. Из-за сопоставления поддоменов происхождение токена может не совпадать в точности с одним из предоставленных источников сценария, и результат не указывает, какое конкретное происхождение было сопоставлено. Это означает, что это не прямой поиск соответствующего источника сценария. Чтобы избежать повторного выполнения всех сравнений источников, существуют ярлыки, которые зависят от того, сколько источников сценариев было предоставлено. Должен быть хотя бы один, иначе сторонний токен не будет успешно проверен». Исходный код
InvalidSignature : токен имеет недействительную или неверную подпись. Исходный код
Неверный : токен имеет неверный формат и не может быть проанализирован. Исходный код
NotSupported : пробная версия источника, определенная токеном, не поддерживается в средстве внедрения Chromium. Средством внедрения может быть браузер (например, Chrome или Edge), WebView или какой-либо другой пользовательский агент. Исходный код
Успех : токен правильно сформирован, срок его действия не истек, соответствует пробной функции источника и запрошен из ожидаемого источника. Исходный код
TokenDisabled : токен помечен как отключенный и не может быть использован. Исходный код
TrialNotAllowed : Исходная пробная версия недоступна для текущего пользователя . Исходный код
UnknownTrial : токен указывает имя функции, которое не соответствует ни одной известной пробной версии. Исходный код
WrongOrigin : источник запроса не соответствует источнику, указанному в токене. Это может включать схему, имя хоста или порт. Этот статус также отображается, если сторонний токен указан в HTTP-заголовке, метатеге или встроенном скрипте, а не во внешнем файле JavaScript. Исходный код
WrongVersion : вы используете неправильную версию токена. Поддерживаются только токены версии 2 и 3. Исходный код
Необходимые условия для испытаний происхождения
Если пробная версия Origin не работает должным образом, убедитесь, что вы выполнили следующие условия.
Вы тестируете в Chrome, а не в Chromium или другом браузере.
Пробные версии Chrome Origin предназначены для пользователей Chrome. Пробные токены происхождения Chrome не поддерживают функции других браузеров, включая Chromium и браузеры на его основе. Это связано с тем, что исходные пробные версии Chrome предназначены только для функций, доступных в Chrome для экспериментов.
Пробные версии Origin также доступны для Firefox и Microsoft Edge . Регистрация в пробной версии Firefox или Edge Origin не активирует эту функцию в Chrome.
Пробная версия Origin включена для версий Chrome, имеющих доступ к вашему сайту.
Доступ к пробным версиям Origin ограничен определенными версиями Chrome. Это может означать, что пробная функция доступна только для каналов Chrome до стабильной версии: Canary, Dev и Beta.
Вы можете проверить доступность версии на странице регистрации пробной версии:
Вы можете проверить используемую версию Chrome на странице chrome://version .
Пробная версия Origin не отключена в настройках Chrome.
Если отдельный пользователь сообщает, что какая-то функция у него не работает, убедитесь, что эта функция не отключена в настройках Chrome. Например, некоторые функции Privacy Sandbox можно отключить на странице chrome://settings/adPrivacy
.
Ключевые слова и синтаксис верны
Обязательно используйте соответствующие ключевые слова и синтаксис для токенов пробной версии источника.
Для собственного использования токен может быть предоставлен в метатеге origin-trial
:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
В качестве альтернативы токен может быть предоставлен в заголовке ответа Origin-Trial
. Вот пример использования Express в Node.js:
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
в качестве веб-источника :
Вы можете получить значение токена следующим образом:
Убедитесь, что это значение соответствует токену, используемому на странице, на которой вы устраняете неполадки.
Чтобы получить токен, указанный в метатеге, проверьте HTML:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Для токена, указанного в заголовке, вы можете проверить значение токена на панели «Сеть Chrome DevTools» в разделе «Заголовки ответов» :
Собственный токен предоставляется источником, который его использует.
Чтобы обеспечить доступ к пробной функции источника для кода, включенного в страницу, обслуживаемую из вашего источника, предоставьте пробный токен в метатеге, заголовке или с помощью JavaScript из того же источника.
Источник, зарегистрированный для токена, должен совпадать с источником, который его обслуживает.
Происхождение стороннего токена соответствует происхождению скрипта
Вы можете зарегистрироваться для участия в пробной версии Origin для сценариев, которые внедряются в другие источники.
Например, если вы хотите, чтобы сценарии, обслуживаемые из javascript-library.example
, участвовали в пробной версии источника, вам необходимо зарегистрировать токен со сторонним соответствием для javascript-library.example
.
Значение источника стороннего токена должно совпадать с источником сценария, который его внедряет.
Сторонний скрипт использует сторонний токен
Вы не можете разрешить стороннему скрипту участвовать в пробной версии Origin на вашем сайте, просто зарегистрировав токен для вашего Origin и забыв о скрипте.
Сторонние сценарии должны использовать токены с включенным сторонним сопоставлением, внедренные в сам сценарий. Эти токены нельзя включать в метатег или заголовок вашего сайта. JavaScript может выглядеть следующим образом:
// Add a third-party OT token
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
Сторонний токен предоставляется с внешним скриптом, а не с метатегом, HTTP-заголовком или встроенным скриптом.
Сторонние токены проверяются на соответствие источнику сценария, который их внедрил. Однако встроенные скрипты и теги <meta>
в статической разметке не имеют источника.
Это означает, что сторонний токен должен быть предоставлен во внешнем скрипте, а не в теге <meta>
или встроенном скрипте. Не имеет значения, происходит ли внешний скрипт, внедряющий токен, из того же источника, что и содержащая страница, или из другого источника, если источник сценария соответствует источнику, зарегистрированному для пробной версии.
См. демонстрационную версию на сайте ot-iframe-3p.glitch.me .
Доступ к пробной версии Origin поддерживается для метода, используемого для предоставления пробного токена.
Некоторые типы доступа к функциям пробной версии Origin требуют, чтобы вы предоставили пробный токен определенным образом. Например, единственный способ включить пробный доступ Origin для сервисных работников и общих рабочих — предоставить токен в заголовке Origin-Trial
.
Сопоставление субдоменов включено для токена, используемого в субдомене.
Если функция пробной версии Origin не работает на некоторых страницах вашего сайта, убедитесь, что токены правильно настроены для обслуживающих их поддоменов.
Когда вы регистрируетесь для пробной версии источника, вы можете при желании выбрать соответствие всем субдоменам источника:
Вы также можете сопоставить субдомены для сторонних токенов:
Токены поддоменов не выдаются для источников в списке общедоступных суффиксов . Например, вы не можете зарегистрировать такой источник, как https://appspot.com
или https://github.io
, но вы можете зарегистрировать домены внутри этого источника, например https://example.appspot.com
или https://example.github.io
.
Токен все еще действителен
Токены действительны в течение шести недель после создания. Помимо этого, вы должны отправить отзыв, чтобы продлить срок действия . Руководство по пробным версиям Origin для веб-разработчиков объясняет, как убедиться, что ваш токен действителен для всей пробной версии Origin.
Вы можете проверить наличие активных токенов на странице «Мои регистрации» в пробных версиях Chrome Origin:
Chrome DevTools отображает статус Success
, если токен все еще действителен:
Если срок действия вашего токена истек, DevTools отображает статус Expired
, а на странице «Мои регистрации» отображается раздел «Токены с истекшим сроком действия» .
Испытание происхождения продолжается
Вы можете проверить дату окончания пробной версии Origin на странице регистрации :
Для завершенных пробных версий DevTools отображает что-то вроде этого:
Вам отправляются автоматические электронные письма, когда требуется отзыв или срок действия токена истекает, но не после окончания пробного периода.
Пробная версия Origin доступна для текущего пользователя.
Некоторые пробные версии Origin недоступны определенным пользователям, даже если предоставлен действительный токен.
Если пробная версия недоступна для текущего пользователя, Chrome DevTools отображает предупреждение TrialNotAllowed
:
Информация об ограничениях на использование и доступности предоставляется для каждой исходной пробной версии.
Как и в случае с любой функцией веб-платформы, вам следует использовать функцию обнаружения , чтобы убедиться, что пробная версия Origin поддерживается, прежде чем использовать ее.
Ограничения на использование пробной версии Origin не превышены.
По умолчанию функция пробной версии Origin включена на любой странице, на которой есть действительный токен для пробной версии.
За исключением редких случаев, использование пробной версии Origin ограничено максимум 0,5 % всех загрузок страниц Chrome . Функция пробной версии Origin отключается, если общее использование всеми пользователями Chrome превышает это количество. DevTools отображает статус токена как отключенный.
Для устаревших пробных версий ограничений на использование нет, поскольку они не вводят новых функций и, следовательно, не создают риска сделать значительную часть Интернета зависимой от пробной функции.
Некоторые пробные версии предоставляют возможность ограничить использование, что означает, что функции исходной пробной версии отключены для некоторых пользователей. Эта опция доступна на странице регистрации пробной версии Origin, которая предлагает ее:
Если вы заметили, что доступ ваших пользователей к функции пробной версии Origin ниже ожидаемого, убедитесь, что выбран стандартный лимит .
Iframes предоставляют свои собственные токены
Чтобы разрешить доступ к функции пробной версии источника, iframe должен предоставить токен в метатеге, HTTP-заголовке или программно . Iframe не наследуют доступ к функциям, включенным для страниц, которые их содержат.
ot-iframe.glitch.me демонстрирует доступ к пробной функции Origin из iframe. ot-iframe-3p.glitch.me предоставляет несколько примеров iframe для разных источников.
Политики разрешений настроены правильно
На некоторые функции пробной версии источника может влиять Permissions-Policy
. Это можно проверить в разделе «Намерение экспериментировать» для пробной функции или в документации для разработчиков этой функции на сайте Developer.chrome.com/docs .
Убедитесь, что функция, к которой вы пытаетесь получить доступ, не заблокирована директивой Permissions-Policy
. Вы можете проверить заголовки ответов на панели «Сеть» Chrome DevTools и просмотреть полный список разрешенных функций на панели «Приложение» .
А как насчет рабочих?
Функции пробных версий Origin могут быть доступны сервисным работникам, общим и выделенным работникам. Чтобы разрешить доступ для сервисных работников и общих работников, вы должны предоставить токен в заголовке Origin-Trial
.
Выделенные работники наследуют доступ к функциям, включенным в их родительском документе.
Токен предоставляется до доступа к функции
Прежде чем получить доступ к пробной функции, убедитесь, что исходный пробный токен предоставлен. Например, если страница предоставляет токен с помощью JavaScript, убедитесь, что код предоставления токена запускается до кода, который пытается получить доступ к пробной функции.
Пробные версии Origin
На следующих сайтах показаны примеры развертывания токенов.
Как предоставить пробный токен происхождения
- Токен в метатеге
- Токен в заголовке
- Токен, внедренный сторонним скриптом
- Доступ к функции в iframe
- Примеры iframe для перекрестного происхождения
Инструменты пробной версии Origin
Возможности оригинальной пробной версии
Ниже приведены демонстрации API, находящихся в текущих испытаниях происхождения.
Узнать больше
- Начните использовать пробные версии Chrome Origin
- Сторонние испытания происхождения
- Руководство по пробным версиям Origin для веб-разработчиков
- Объяснение пробной версии происхождения
- Запуск пробной версии источника
- Процесс запуска новых функций в Chromium
- Намерение объяснить: демистификация процесса доставки Blink
- Используйте пробные версии Origin в Microsoft Edge
- Пробные версии Origin для Firefox
Устраните распространенные проблемы с пробными токенами в метатегах, заголовках и скриптах.
В этом руководстве предполагается практическое знание пробных версий Origin в Chrome . Подробные часто задаваемые вопросы можно найти в руководстве по пробным версиям Origin для веб-разработчиков .
Если вы столкнулись с ошибкой в исходных пробных версиях в Chrome, отправьте новую проблему в репозиторий исходных пробных версий Chrome на GitHub.
Контрольный список
Чтобы устранить неполадки в исходной пробной версии, устраните каждую из проблем, используя предоставленные ссылки.
Используйте Chrome DevTools для проверки токенов
DevTools предоставляет информацию об исходной пробной версии на панели «Приложение» для выбранного кадра.
Разверните верхний фрейм, чтобы проверить исходные пробные жетоны, доступные для подкадра. Например, для демонстрационной страницы ot-iframe.glitch.me вы можете видеть, что страница в iframe предоставляет токен.
- Статус токена : имеет ли страница действительный токен. Обратите внимание, что для некоторых пробных версий происхождения могут существовать и другие факторы, например географические ограничения, из-за которых функция пробной версии происхождения недоступна, несмотря на наличие действующего токена. Коды статуса Chrome DevTools объясняют значение каждого из кодов для исходных пробных версий.
- Origin : веб-источник, зарегистрированный для токена.
- Expiry Time : максимально (самая поздняя) возможная дата и время истечения срока действия токена, которое (по большей части) совпадает с окончанием пробной версии. Это не то же самое, что дата действия до для токена, отображаемая в разделе «Мои регистрации» , которая показывает, как долго токен действителен и может быть продлен .
- Ограничение использования : ограничения на использование, которые могут быть установлены для некоторых пробных версий.
- Третья сторона : включено ли для токена стороннее сопоставление . Это доступно для некоторых исходных пробных версий, когда к функции пробной версии необходимо получить доступ на нескольких сайтах из сторонних скриптов.
- Сопоставить поддомены : включено ли для токена сопоставление поддоменов . Это позволяет протестировать пробную функцию источника на нескольких субдоменах источника без необходимости использования отдельного токена для каждого субдомена.
Chrome DevTools отображает предупреждение рядом с названием пробной версии, если пробная версия недоступна для текущего пользователя, срок действия токена истек или существуют другие ограничения.
Коды состояния
В Chrome DevTools вы можете встретить следующие коды состояния.
Срок действия истек : срок действия токена истек. Чтобы повторно включить пробную версию источника, необходимо обновить токен. Создайте новый токен с новым сроком действия. Исходный код
FeatureDisabled : пробная версия отключена для использования. Исходный код
FeatureDisabledForUser : этот токен был обозначен как отключенный для текущего пользователя с альтернативным ограничением использования. См. раздел «Исключения подмножества пользователей» проектной документации . Исходный код 1 и Исходный код 2
Небезопасно : источник запроса небезопасен, и пробная версия не включена для небезопасного источника. Как поясняется в коде валидатора пробного токена источника : «Для сторонних токенов как текущий источник, так и источник сценария должны быть безопасными. Из-за сопоставления поддоменов происхождение токена может не совпадать в точности с одним из предоставленных источников сценария, и результат не указывает, какое конкретное происхождение было сопоставлено. Это означает, что это не прямой поиск соответствующего источника сценария. Чтобы избежать повторного выполнения всех сравнений источников, существуют ярлыки, которые зависят от того, сколько источников сценариев было предоставлено. Должен быть хотя бы один, иначе сторонний токен не будет успешно проверен». Исходный код
InvalidSignature : токен имеет недействительную или неверную подпись. Исходный код
Неверный : токен имеет неверный формат и не может быть проанализирован. Исходный код
NotSupported : пробная версия источника, определенная токеном, не поддерживается в средстве внедрения Chromium. Средством внедрения может быть браузер (например, Chrome или Edge), WebView или какой-либо другой пользовательский агент. Исходный код
Успех : токен правильно сформирован, срок его действия не истек, соответствует пробной функции источника и запрошен из ожидаемого источника. Исходный код
TokenDisabled : токен помечен как отключенный и не может быть использован. Исходный код
TrialNotAllowed : Исходная пробная версия недоступна для текущего пользователя . Исходный код
UnknownTrial : токен указывает имя функции, которое не соответствует ни одной известной пробной версии. Исходный код
WrongOrigin : источник запроса не соответствует источнику, указанному в токене. Это может включать схему, имя хоста или порт. Этот статус также отображается, если сторонний токен указан в HTTP-заголовке, метатеге или встроенном скрипте, а не во внешнем файле JavaScript. Исходный код
WrongVersion : вы используете неправильную версию токена. Поддерживаются только токены версии 2 и 3. Исходный код
Необходимые условия для испытаний происхождения
Если пробная версия Origin не работает должным образом, убедитесь, что вы выполнили следующие условия.
Вы тестируете в Chrome, а не в Chromium или другом браузере.
Пробные версии Chrome Origin предназначены для пользователей Chrome. Пробные токены происхождения Chrome не поддерживают функции других браузеров, включая Chromium и браузеры на его основе. Это связано с тем, что исходные пробные версии Chrome предназначены только для функций, доступных в Chrome для экспериментов.
Пробные версии Origin также доступны для Firefox и Microsoft Edge . Регистрация в пробной версии Firefox или Edge Origin не активирует эту функцию в Chrome.
Пробная версия Origin включена для версий Chrome, имеющих доступ к вашему сайту.
Доступ к пробным версиям Origin ограничен определенными версиями Chrome. Это может означать, что пробная функция доступна только для каналов Chrome до стабильной версии: Canary, Dev и Beta.
Вы можете проверить доступность версии на странице регистрации пробной версии:
Вы можете проверить используемую версию Chrome на странице chrome://version .
Пробная версия Origin не отключена в настройках Chrome.
Если отдельный пользователь сообщает, что какая-то функция у него не работает, убедитесь, что эта функция не отключена в настройках Chrome. Например, некоторые функции Privacy Sandbox можно отключить на странице chrome://settings/adPrivacy
.
Ключевые слова и синтаксис верны
Обязательно используйте соответствующие ключевые слова и синтаксис для токенов пробной версии источника.
Для собственного использования токен может быть предоставлен в метатеге origin-trial
:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
В качестве альтернативы токен может быть предоставлен в заголовке ответа Origin-Trial
. Вот пример использования Express в Node.js:
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
в качестве веб-источника :
Вы можете получить значение токена следующим образом:
Убедитесь, что это значение соответствует токену, используемому на странице, на которой вы устраняете неполадки.
Чтобы получить токен, указанный в метатеге, проверьте HTML:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Для токена, указанного в заголовке, вы можете проверить значение токена на панели «Сеть Chrome DevTools» в разделе «Заголовки ответов» :
Собственный токен предоставляется источником, который его использует.
Чтобы обеспечить доступ к пробной функции источника для кода, включенного в страницу, обслуживаемую из вашего источника, предоставьте пробный токен в метатеге, заголовке или с помощью JavaScript из того же источника.
Источник, зарегистрированный для токена, должен совпадать с источником, который его обслуживает.
Происхождение стороннего токена соответствует происхождению скрипта
Вы можете зарегистрироваться для участия в пробной версии Origin для сценариев, которые внедряются в другие источники.
Например, если вы хотите, чтобы сценарии, обслуживаемые из javascript-library.example
, участвовали в пробной версии источника, вам необходимо зарегистрировать токен со сторонним соответствием для javascript-library.example
.
Значение источника стороннего токена должно совпадать с источником сценария, который его внедряет.
Сторонний скрипт использует сторонний токен
Вы не можете разрешить стороннему скрипту участвовать в пробной версии Origin на вашем сайте, просто зарегистрировав токен для вашего Origin и забыв о скрипте.
Сторонние сценарии должны использовать токены с включенным сторонним сопоставлением, внедренные в сам сценарий. Эти токены нельзя включать в метатег или заголовок вашего сайта. JavaScript может выглядеть следующим образом:
// Add a third-party OT token
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
Сторонний токен предоставляется с внешним скриптом, а не с метатегом, HTTP-заголовком или встроенным скриптом.
Сторонние токены проверяются на соответствие происхождению скрипта, который их внедрил. Однако встроенные скрипты и теги <meta>
в статической разметке не имеют источника.
Это означает, что сторонний токен должен быть предоставлен во внешнем скрипте, а не в теге <meta>
или встроенном скрипте. Не имеет значения, исходит ли внешний сценарий, который вводит токен из того же происхождения, что и содержащая страница или другое происхождение, если доход сценария соответствует происхождению, зарегистрированному для испытания.
Смотрите демонстрацию этого в OT-IFRAME-3P.GLITCH.ME .
Доступ к функции испытания происхождения поддерживается для метода, используемого для предоставления пробного токена
Некоторые типы доступа к функциям испытаний происхождения требуют, чтобы вы предоставили токен пробного токена определенным образом. Например, единственный способ обеспечить доступ к эксплуатации для работников и общих работников -это предоставление токена в заголовке Origin-Trial
.
Сопоставление субдомена включено для токена, используемого на субдомене
Если функция испытания происхождения, похоже, не работает для некоторых страниц на вашем сайте, убедитесь, что токены правильно настроены для поддоменов, обслуживающих их.
Когда вы зарегистрируетесь для испытания происхождения, вы можете при желании выбрать сопоставление всех субдоменов происхождения:
Вы также можете соответствовать субдоменам для сторонних токенов:
Токены поддомена не выдаются для происхождения в списке общественных суффикс . Например, вы не можете зарегистрировать происхождение, такое как https://appspot.com
или https://github.io
, хотя вы можете зарегистрироваться для доменов в этом происхождении, таких как https://example.appspot.com
или https://example.github.io
.
Токен все еще действителен
Токены действительны в течение шести недель после их создания. Кроме того, вы должны подать отзыв, чтобы продлить действие до даты. Руководство по испытаниям происхождения для веб -разработчиков объясняет, как убедиться, что ваш токен действителен для целого испытания происхождения.
Вы можете проверить на наличие активных токенов в испытаниях Chrome Origin My My Registration Page :
Chrome Devtools отображает Success
статуса, если токен все еще действителен:
Если ваш токен истек, Devtools отображает Expired
статуса, а на вашей странице «Моя регистрация» отображается раздел токенов с истекшим сроком действия .
Испытание происхождения продолжается
Вы можете проверить дату окончания на предмет судебного разбирательства со страницы регистрации :
Для испытаний, которые закончились, Devtools отображает что -то вроде этого:
Вас отправляют автоматические электронные письма, когда требуется отзыв или истекает токен, но не когда испытание заканчивается.
Испытание происхождения доступно для текущего пользователя
Некоторые испытания происхождения недоступны для определенных пользователей, даже если предоставляется действительный токен.
Если испытание недоступно для текущего пользователя, Chrome Devtools отображает TrialNotAllowed
предупреждение:
Информация об ограничениях использования и доступности предоставляется для каждого испытания происхождения.
Как и в случае с любой функцией веб -платформы, вы должны использовать обнаружение функций, чтобы подтвердить, что функция испытаний оригинала поддерживается перед тем, как использовать ее.
Ограничения на использование испытаний происхождения не были превышены
По умолчанию функция испытаний источника включена на любой странице, на которой есть действительный токен для испытания.
За исключением редких случаев, использование испытаний происхождения ограничено максимум 0,5% от всех нагрузок хромированных страниц . Функция испытания происхождения отключена, если общее использование всеми пользователями Chrome превышает эту сумму. Devtools отображает статус токена как отключен.
Не существует ограничений на использование испытаний по искательению, так как они не вводят новые функции и, следовательно, не представляют риска достижения значительной доли веб -сайта, зависящей от функции испытания.
Некоторые испытания предоставляют возможность ограничить использование, что означает, что функции испытаний происхождения отключены для некоторых пользователей. Этот вариант предоставляется на странице регистрации для испытания происхождения, которое предлагает его:
Если вы заметите, что доступ ваших пользователей к функции испытания на происхождение ниже, чем ожидалось, убедитесь, что стандартный предел выбран.
Iframes предоставляют свои жетоны
Чтобы разрешить доступ к функции испытания происхождения, iframe должен предоставить токен в метатете, заголовок HTTP или программно . Iframes не наследует доступ к функциям, включенным для страниц, которые их содержат.
OT-Iframe.glitch.me демонстрирует доступ к функции испытания происхождения из iframe. OT-IFRAME-3P.GLITCH.ME предоставляет несколько примеров перекрестного происхождения IFRAME.
Политики разрешений правильно настроены
Некоторые функции испытания происхождения могут повлиять на Permissions-Policy
. Вы можете проверить это в намерении экспериментировать с функцией испытаний или в документации разработчика для этой функции на разработчике.chrome.com/docs .
Убедитесь, что функция, к которой вы пытаетесь получить доступ, не заблокирована директивой Permissions-Policy
. Вы можете проверить наличие заголовков ответов на сетевой панели Chrome Devtools и просмотреть полный список разрешенных функций на панели приложения .
А как насчет работников?
Особенности испытаний происхождения могут быть доступны для работников обслуживания, совместных работников и преданных работников. Чтобы обеспечить доступ для работников обслуживания и совместных работников, вы должны предоставить токен в заголовке Origin-Trial
.
Преданные работники наследуют доступ к функциям, включенным их родительским документом.
Токен предоставляется до того, как доступна к функции
Убедитесь, что токен пробного испытания предоставляется до того, как доступ к испытательной функции. Например, если страница предоставляет токен с JavaScript, убедитесь, что код для предоставления токена запускается перед кодом, который пытается получить доступ к функции проб.
Происхождение Демо
На следующих сайтах показаны примеры развертывания токена.
Как предоставить токен испытания происхождения
- Токен в метатете
- Знак в заголовке
- Токен, введенный сторонним сценарием
- Функция доступна в iframe
- Примеры перекрестного происхождения IFRAME
Проблемные инструменты
Особенности в испытаниях происхождения
Ниже приведены демо для API в текущих испытаниях происхождения
Узнать больше
- Начните с хромированными испытаниями происхождения
- Сторонние испытания происхождения
- Руководство по испытаниям происхождения для веб -разработчиков
- Объяснитель испытания происхождения
- Запуск испытания происхождения
- Процесс запуска новых функций в Chromium
- Намерение объяснить: демистификация процесса мигани
- Используйте испытания происхождения в Microsoft Edge
- Испытания происхождения для Firefox
Решите общие проблемы с пробными токенами в метатетах, заголовках и сценариях.
Это руководство предполагает практическое знание испытаний происхождения в Chrome . Для получения подробного часто задаваемых вопросов, см. Руководство по исходным испытаниям для веб -разработчиков .
Если вы столкнетесь с ошибкой с испытаниями происхождения в Chrome, отправьте новую проблему в репозитории GitHub Chrome Origin.
Контрольный список
Чтобы устранить испытание происхождения, проработайте каждую из проблем, используя поставленные ссылки.
Используйте Chrome Devtools, чтобы проверить токены
Devtools предоставляет информацию о пробной версии на панели приложения для выбранного кадра.
Разверните верхнюю кадр, чтобы осмотреть токены испытаний происхождения, доступные для подбора. Например, для демонстрационной страницы на ot-iframe.glitch.me вы можете увидеть, что страница в iframe предоставляет токен.
- Статус токена : есть ли страница действительный токен. Обратите внимание, что для некоторых испытаний происхождения могут быть и другие факторы, такие как географические ограничения, которые означают, что функция испытания происхождения недоступна, несмотря на наличие достоверного токена. Коды статуса Chrome Devtools объясняют значение каждого из кодов для испытаний происхождения.
- Происхождение : веб -происхождение, зарегистрированное для токена.
- Время истечения : максимальная (последняя) возможная дата истечения срока действия токена, который (по большей части) соответствует конец испытания. Это не то же самое, что и действительность до даты токена, отображаемого в моих регистрациях , что показывает, как долго же токен действителен, и может быть расширен .
- Ограничение использования : ограничения использования, которые могут быть установлены для некоторых испытаний.
- Третья сторона : включено ли сторонние сопоставления для токена. Это доступно для некоторых испытаний происхождения, где необходимо получить пробную функцию на нескольких сайтах из сторонних сценариев.
- Соответствие поддоменам : включено ли поддодовое сопоставление для токена. Это позволяет тестировать функцию испытания происхождения на нескольких субдоменах происхождения, не требуя другого токена для каждого поддомена.
Chrome Devtools отображает предупреждение рядом с именем пробного суда. Если испытание не зависит от текущего пользователя, токен истек, или если есть другие ограничения.
Коды статуса
Вы можете столкнуться с следующими кодами состояния в Chrome Devtools.
Срок действия истечения : Token прошел дату истечения срока действия. Чтобы повторно включить судебный процесс, токен должен быть обновлен. Создайте новый токен с новой датой истечения срока действия. Исходный код
InfectedIsabled : Испытание отключено для использования. Исходный код
InfeedIsabledForuser : этот токен был обозначен как отключенный для текущего пользователя с альтернативным ограничением использования. См. Раздел «Исключения пользователя подмножества» в проектном документе . Исходный код 1 и исходный код 2
Небезопасное : Происхождение запроса небезопасно, и испытание не включено для небезопасного происхождения. Как объяснено в коде валидатора токена токена исходного испытания : «Для сторонних токенов как текущее происхождение, так и сценарий происхождения должны быть безопасными. Из -за сопоставления субдомена происхождение токена может не быть точным совпадением для одного из предоставленных источников сценариев, и результат не указывает, какое конкретное происхождение соответствовало. Это означает, что это не прямой поиск, чтобы найти соответствующее происхождение скрипта. Чтобы избежать переосмысления всех сравнений происхождения, существуют ярлыки, которые зависят от того, сколько было предоставлено происхождение сценариев. Должен быть хотя бы один, или токен третьей стороны не будет успешно подтвержден ». Исходный код
Invaliddsignature : токен имеет недействительную или утронутую подпись. Исходный код
Malformed : токен является уродством и не может быть проанализирован. Исходный код
NotSupported : Исследование происхождения, определяемое токеном, не поддерживается в хромовом встраивании. Абседдер может быть браузером (например, Chrome или Edge), WebView или другим пользовательским агентом. Исходный код
Успех : токен хорошо сформирован, не истек, соответствует функции испытания происхождения и запрашивается из ожидаемого происхождения. Исходный код
Tokendisabled : токен был отмечен как отключенный и не может быть использован. Исходный код
TREADNOTALLINWELD : Испытание происхождения недоступно для текущего пользователя . Исходный код
Unlowertrial : токен определяет имя функции, которое не соответствует никакой известной пробной версии. Исходный код
Rocoororigin : Происхождение запроса не соответствует происхождению, указанному в токене. Это может включать схему, имя хоста или порт. Этот статус также отображается, если токен третьей стороны предусмотрен в заголовке HTTP, метатете или встроенном сценарии, а не из внешнего файла JavaScript. Исходный код
Невернаяверсия : вы используете неправильную версию токена. Только токеновые версии 2 и 3 поддерживаются. Исходный код
Требуемые условия для испытаний происхождения
Если ваше испытание происхождения не работает, как и ожидалось, убедитесь, что вы выполнили следующие условия.
Вы тестируете в хром, а не на хром или в другом браузере
Испытания Chrome Origin предназначены для работы для пользователей Chrome. Троки Chrome Orign Torken не позволяет использовать функции в других браузерах, включая браузеры на основе хрома и хрома. Это связано с тем, что исследования хромированного происхождения специфичны для функций, доступных в Chrome для экспериментов.
Испытания происхождения также доступны для Firefox и Microsoft Edge . Зачисление в исследование Firefox или Edge Origin не позволяет использовать функцию в Chrome.
Исследование происхождения включено для хромированных версий, получающих доступ к вашему сайту
Доступ к испытаниям происхождения ограничен конкретными версиями Chrome. Это может означать, что функция испытания доступна только для предварительных хромированных каналов: Canary, Dev и Beta.
Вы можете проверить доступность версии со страницы регистрации для испытания:
Вы можете проверить хромированную версию, которую вы используете от chrome: // version .
Исследование происхождения не отключено настройками Chrome
Если отдельный пользователь сообщает, что функция не работает для них, убедитесь, что эта функция не отключена в их настройках Chrome. Например, определенные функции песочницы конфиденциальности могут быть отключены со страницы chrome://settings/adPrivacy
.
Ключевые слова и синтаксис верны
Обязательно используйте соответствующие ключевые слова и синтаксис для токенов испытаний.
Для использования первой стороны, токен может быть предоставлен в метатете origin-trial
:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
В качестве альтернативы, токен может быть предоставлен в заголовке ответа Origin-Trial
. Вот пример с использованием Express in node.js:
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
в качестве веб -происхождения :
Вы можете получить такую ценность токена:
Убедитесь, что это значение соответствует токену, используемому на странице, которую вы устраняете.
Чтобы узнать токен, предоставленный в метатете, проверьте HTML:
<meta http-equiv="origin-trial" content="Aj4DysCv3VjknU3...">
Для токена, предоставленного в заголовке, вы можете проверить значение токена с сетевой панели Chrome Devtools под заголовками ответов :
Первозависимый токен обслуживается из того, что его использует
Чтобы обеспечить доступ к функции испытания происхождения для кода, включенного в страницу, обслуживаемой вашему происхождению, предоставьте пробный токен в метатете, заголовок или JavaScript из того же происхождения.
Происхождение, зарегистрированное для токена, должно соответствовать источнику, которое он обслуживает.
Стороннее происхождение токенов соответствует происхождению скрипта сценария
Вы можете зарегистрироваться для участия в испытании происхождения для сценариев, которые вводят в другие происхождения.
Например, если вам нужны сценарии, которые обслуживались из javascript-library.example
, чтобы принять участие в испытании происхождения, вам необходимо зарегистрировать токен с сторонним сопоставлением для javascript-library.example
.
Значение происхождения для стороннего токена должно соответствовать источнику сценария, который вводит его.
Сторонний скрипт использует сторонний токен
Вы не можете включить сторонний сценарий для участия в испытании происхождения на вашем сайте, только зарегистрировав токен для вашего происхождения и забыв сценарий.
Сторонние сценарии должны использовать токены с включенным сторонним сопоставлением, инъецированным самим скриптом. Эти токены не могут быть включены в метатеги или заголовок на вашем сайте. JavaScript может выглядеть следующим образом:
// Add a third-party OT token
function addTrialToken(tokenContents) {
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = tokenContents;
document.head.appendChild(tokenElement);
}
Сторонний токен снабжен внешним сценарием, а не метагом, заголовком HTTP или встроенным сценарием
Сторонние токены подтверждены против происхождения сценария, который вводил им. Тем не менее, встроенные сценарии и теги <meta>
в статической наценке не имеют происхождения.
Это означает, что сторонний токен должен быть предоставлен внешним сценарием, а не в теге <meta>
или встроенном сценарии. Не имеет значения, исходит ли внешний сценарий, который вводит токен из того же происхождения, что и содержащая страница или другое происхождение, если доход сценария соответствует происхождению, зарегистрированному для испытания.
Смотрите демонстрацию этого в OT-IFRAME-3P.GLITCH.ME .
Доступ к функции испытания происхождения поддерживается для метода, используемого для предоставления пробного токена
Некоторые типы доступа к функциям испытаний происхождения требуют, чтобы вы предоставили токен пробного токена определенным образом. Например, единственный способ обеспечить доступ к эксплуатации для работников и общих работников -это предоставление токена в заголовке Origin-Trial
.
Сопоставление субдомена включено для токена, используемого на субдомене
Если функция испытания происхождения, похоже, не работает для некоторых страниц на вашем сайте, убедитесь, что токены правильно настроены для поддоменов, обслуживающих их.
Когда вы зарегистрируетесь для испытания происхождения, вы можете при желании выбрать сопоставление всех субдоменов происхождения:
Вы также можете соответствовать субдоменам для сторонних токенов:
Токены поддомена не выдаются для происхождения в списке общественных суффикс . Например, вы не можете зарегистрировать происхождение, такое как https://appspot.com
или https://github.io
, хотя вы можете зарегистрироваться для доменов в этом происхождении, таких как https://example.appspot.com
или https://example.github.io
.
Токен все еще действителен
Токены действительны в течение шести недель после их создания. Кроме того, вы должны подать отзыв, чтобы продлить действие до даты. Руководство по испытаниям происхождения для веб -разработчиков объясняет, как убедиться, что ваш токен действителен для целого испытания происхождения.
Вы можете проверить на наличие активных токенов в испытаниях Chrome Origin My My Registration Page :
Chrome Devtools отображает Success
статуса, если токен все еще действителен:
Если ваш токен истек, Devtools отображает Expired
статуса, а на вашей странице «Моя регистрация» отображается раздел токенов с истекшим сроком действия .
Испытание происхождения продолжается
Вы можете проверить дату окончания на предмет судебного разбирательства со страницы регистрации :
Для испытаний, которые закончились, Devtools отображает что -то вроде этого:
Вас отправляют автоматические электронные письма, когда требуется отзыв или истекает токен, но не когда испытание заканчивается.
Испытание происхождения доступно для текущего пользователя
Некоторые испытания происхождения недоступны для определенных пользователей, даже если предоставляется действительный токен.
Если испытание недоступно для текущего пользователя, Chrome Devtools отображает TrialNotAllowed
предупреждение:
Информация об ограничениях использования и доступности предоставляется для каждого испытания происхождения.
Как и в случае с любой функцией веб -платформы, вы должны использовать обнаружение функций, чтобы подтвердить, что функция испытаний оригинала поддерживается перед тем, как использовать ее.
Ограничения на использование испытаний происхождения не были превышены
По умолчанию функция испытаний источника включена на любой странице, на которой есть действительный токен для испытания.
За исключением редких случаев, использование испытаний происхождения ограничено максимум 0,5% от всех нагрузок хромированных страниц . Функция испытания происхождения отключена, если общее использование всеми пользователями Chrome превышает эту сумму. Devtools отображает статус токена как отключен.
Не существует ограничений на использование испытаний по искательению, так как они не вводят новые функции и, следовательно, не представляют риска достижения значительной доли веб -сайта, зависящей от функции испытания.
Некоторые испытания предоставляют возможность ограничить использование, что означает, что функции испытаний происхождения отключены для некоторых пользователей. Этот вариант предоставляется на странице регистрации для испытания происхождения, которое предлагает его:
Если вы заметите, что доступ ваших пользователей к функции испытания на происхождение ниже, чем ожидалось, убедитесь, что стандартный предел выбран.
Iframes предоставляют свои жетоны
Чтобы разрешить доступ к функции испытания происхождения, iframe должен предоставить токен в метатете, заголовок HTTP или программно . Iframes не наследует доступ к функциям, включенным для страниц, которые их содержат.
OT-Iframe.glitch.me демонстрирует доступ к функции испытания происхождения из iframe. OT-IFRAME-3P.GLITCH.ME предоставляет несколько примеров перекрестного происхождения IFRAME.
Политики разрешений правильно настроены
Некоторые функции испытания происхождения могут повлиять на Permissions-Policy
. Вы можете проверить это в намерении экспериментировать с функцией испытаний или в документации разработчика для этой функции на разработчике.chrome.com/docs .
Убедитесь, что функция, к которой вы пытаетесь получить доступ, не заблокирована директивой Permissions-Policy
. Вы можете проверить наличие заголовков ответов на сетевой панели Chrome Devtools и просмотреть полный список разрешенных функций на панели приложения .
А как насчет работников?
Особенности испытаний происхождения могут быть доступны для работников обслуживания, совместных работников и преданных работников. Чтобы обеспечить доступ для работников обслуживания и совместных работников, вы должны предоставить токен в заголовке Origin-Trial
.
Преданные работники наследуют доступ к функциям, включенным их родительским документом.
Токен предоставляется до того, как доступна к функции
Убедитесь, что токен пробного испытания предоставляется до того, как доступ к испытательной функции. Например, если страница предоставляет токен с JavaScript, убедитесь, что код для предоставления токена запускается перед кодом, который пытается получить доступ к функции проб.
Происхождение Демо
На следующих сайтах показаны примеры развертывания токена.
Как предоставить токен испытания происхождения
- Токен в метатете
- Знак в заголовке
- Токен, введенный сторонним сценарием
- Функция доступна в iframe
- Примеры перекрестного происхождения IFRAME
Проблемные инструменты
Особенности в испытаниях происхождения
Ниже приведены демо для API в текущих испытаниях происхождения
Узнать больше
- Начните с хромированными испытаниями происхождения
- Сторонние испытания происхождения
- Руководство по испытаниям происхождения для веб -разработчиков
- Объяснитель испытания происхождения
- Запуск испытания происхождения
- Процесс запуска новых функций в Chromium
- Намерение объяснить: демистификация процесса мигани
- Используйте испытания происхождения в Microsoft Edge
- Испытания происхождения для Firefox