Примите участие в пробной версии устаревших неразделенных сторонних хранилищ, Service Worker и коммуникационных API.

Начиная с Chrome 115 , хранилище, сервисные работники и коммуникационные API разделены на сторонние контексты . Помимо изоляции политикой одного и того же происхождения, затронутые API, используемые в сторонних контекстах, также разделяются сайтом контекста верхнего уровня. Сайты, у которых еще не было времени реализовать поддержку стороннего разделения хранилища, могут принять участие в пробной версии устаревания, чтобы временно отменить разделение (продолжить изоляцию с помощью политики того же источника, но удалить изоляцию с помощью сайта верхнего уровня) и восстановить прежнее поведение хранилища. сервисные работники и коммуникационные API в контенте, встроенном в их сайт.

В дополнение к общей пробной версии отказа от поддержки разделения на разделы можно принять участие в целевой пробной версии устаревания только для window.sessionStorage . Эта пробная версия доступна в связи с необходимостью некоторых сайтов перенести поток signInWithRedirect из Firebase. Дополнительную информацию об этой миграции смотрите в этой статье .

Доступные пробные версии устаревания

Начиная с Chrome 115 , мы откроем две пробные версии устаревания:

  1. DisableThirdPartyStoragePartitioning : позволяет сайту верхнего уровня выполнять разбиение (временное удаление изоляции сайтом верхнего уровня) в хранилище, сервис-воркерах и коммуникационных API в стороннем контенте, внедренном на его страницах.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning : позволяет сайту разбивать sessionStorage между навигациями.

Это позволит сайтам обнаруживать и устранять проблемы до того, как стороннее секционирование начнет процесс развертывания в Chrome 115.

Ниже приведен обзор пробной версии прекращения поддержки и того, чего ожидать. Если у вас есть отзывы или у вас возникли какие-либо проблемы в ходе этой пробной версии, сообщите нам об этом в репозитории Github для пробной версии разделенного хранилища .

DisableThirdPartyStoragePartitioning

Следующие API останутся неразделенными в сторонних контекстах, если вы зарегистрируете сайт верхнего уровня в пробной версии DisableThirdPartyStoragePartitioning : API хранилища (например, localStorage, sessionStorage, IndexedDB, Quota и другие), коммуникационные API (например, BroadcastChannel, SharedWorkers). и WebLocks) и ServiceWorker API .

Пример:

Схема разделения хранилища

Более подробное объяснение можно найти в объяснителе проекта .

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Если вы зарегистрируетесь в пробной версии DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning , переход вкладки к зарегистрированному источнику приведет к тому, что все межсайтовые iframe того же происхождения останутся несекционированными только для Window.sessionStorage и только на время существования этой конкретной вкладки. В то время как пробная версия прекращения поддержки DisableThirdPartyStoragePartitioning влияет на все сторонние контексты, встроенные в зарегистрированный источник, пробная версия DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning вместо этого регистрирует данный источник для получения неразделенного доступа при внедрении в сторонние контексты.

Пример:

Схема разделения хранилища после общего паритонирования.

Что это значит для веб-разработчиков?

Сайты должны проверять использование несекционированного хранилища, сервис-воркера и коммуникационных API в сторонних контекстах и, при необходимости, готовиться к стороннему секционированию до истечения срока действия этих пробных версий устаревших данных. Цель состоит в том, чтобы прекратить действие этих пробных версий устаревших версий с выпуском Chrome 127 3 сентября 2024 года.

Чтобы дать браузеру указание разделить хранилище стороннего контента, встроенного на его страницы, сайтам верхнего уровня необходимо зарегистрироваться для участия в одной или обеих пробных версиях и добавить соответствующие пробные токены в свои заголовки HTTP-ответов (см. подробный пример). ниже).

Каждая пробная версия устаревшей версии доступна для Windows, Mac, Linux, Chrome OS и Android.

Участвуйте в испытаниях устаревания

Ниже приводится краткий обзор того, как принять участие в одном или обоих испытаниях по прекращению поддержки. Более подробные инструкции можно найти на странице Начало работы с пробными версиями Origin .

  1. Запустите Chrome версии 115 (или более поздней версии) и убедитесь, что флаг ThirdPartyStoragePartitioning включен.
  2. Убедитесь, что поведение стороннего контента, встроенного в ваш сайт верхнего уровня, нарушено разделением хранилища (если нет, то нет необходимости участвовать в испытаниях устаревания).
  3. Зарегистрируйтесь для участия в пробной версии и получите токен для своих доменов, посетив следующую страницу:
    1. Чтобы на сайте верхнего уровня можно было разбить хранилище, сервис-воркеры и коммуникационные API во встроенном содержимом стороннего производителя: DisableThirdPartyStoragePartitioning
    2. Чтобы сайт верхнего уровня не разделял sessionStorage между переходами: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Добавьте пробный токен источника на свою страницу:
    1. Для пробной версии DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning вы можете добавить Origin-Trial: <DEPRECATION TRIAL TOKEN> в заголовок HTTP-ответа вашего сайта верхнего уровня, где <DEPRECATION TRIAL TOKEN> содержит токен, который вы получили при регистрации для участия в пробной версии устаревшей версии. Вы также можете сделать это через HTML ` ярлык.
    2. Для пробной версии DisableThirdPartyStoragePartitioning токен должен быть передан через HTML-тег <meta> , внедренный с помощью JavaScript. Метод заголовка HTTP не поддерживается.
  5. Загрузите свой веб-сайт в Chrome 115 (или более поздней версии) с включенным ThirdPartyStoragePartitioning и убедитесь, что все проблемы, связанные с секционированием, были должным образом устранены.
  6. Чтобы прекратить участие в пробной версии устаревшей версии, просто удалите токен, добавленный на шаге 2.

Пробная версия DisableThirdPartyStoragePartitioning поддерживает функцию пробных версий стороннего источника , но сторонний сценарий, внедряющий токен, должен быть оценен в кадре верхнего уровня перед загрузкой стороннего iframe, к которому не будет применено секционирование. Пробная версия DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning не поддерживает пробные версии стороннего источника, поскольку зарегистрированный пользователь должен был быть сайтом верхнего уровня в какой-то момент существования данной вкладки. Руководство по устранению неполадок в пробных версиях Chrome Origin содержит полный контрольный список, позволяющий убедиться, что ваш токен правильно настроен.

Поделиться отзывом

Любые отзывы или проблемы, с которыми вы сталкиваетесь, отправляйте в репозиторий Github Trial Partitioned Storage Deprecation Trial .