Начиная с Chrome 115 , хранилище, сервисные работники и коммуникационные API разделены на сторонние контексты . Помимо изоляции политикой одного и того же происхождения, затронутые API, используемые в сторонних контекстах, также разделяются сайтом контекста верхнего уровня. Сайты, у которых еще не было времени реализовать поддержку стороннего разделения хранилища, могут принять участие в пробной версии устаревания, чтобы временно отменить разделение (продолжить изоляцию с помощью политики того же источника, но удалить изоляцию с помощью сайта верхнего уровня) и восстановить прежнее поведение хранилища. сервисные работники и коммуникационные API в контенте, встроенном в их сайт.
В дополнение к общей пробной версии отказа от поддержки разделения на разделы можно принять участие в целевой пробной версии устаревания только для window.sessionStorage
. Эта пробная версия доступна в связи с необходимостью некоторых сайтов перенести поток signInWithRedirect
из Firebase. Дополнительную информацию об этой миграции смотрите в этой статье .
Доступные пробные версии устаревания
Начиная с Chrome 115 , мы откроем две пробные версии устаревания:
-
DisableThirdPartyStoragePartitioning
: позволяет сайту верхнего уровня выполнять разбиение (временное удаление изоляции сайтом верхнего уровня) в хранилище, сервис-воркерах и коммуникационных API в стороннем контенте, внедренном на его страницах. -
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
: позволяет сайту разбиватьsessionStorage
между навигациями.
Это позволит сайтам обнаруживать и устранять проблемы до того, как стороннее секционирование начнет процесс развертывания в Chrome 115.
Ниже приведен обзор пробной версии прекращения поддержки и того, чего ожидать. Если у вас есть отзывы или у вас возникли какие-либо проблемы в ходе этой пробной версии, сообщите нам об этом в репозитории Github для пробной версии разделенного хранилища .
DisableThirdPartyStoragePartitioning
Следующие API останутся неразделенными в сторонних контекстах, если вы зарегистрируете сайт верхнего уровня в пробной версии DisableThirdPartyStoragePartitioning
: API хранилища (например, localStorage, sessionStorage, IndexedDB, Quota и другие), коммуникационные API (например, BroadcastChannel, SharedWorkers). и WebLocks) и ServiceWorker API .
Пример:
![Схема разделения хранилища](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/blog/storage-partitioning-diag-2b6ae6113ff7f.png?authuser=9&hl=ru)
Более подробное объяснение можно найти в объяснителе проекта .
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
Если вы зарегистрируетесь в пробной версии DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
, переход вкладки к зарегистрированному источнику приведет к тому, что все межсайтовые iframe того же происхождения останутся несекционированными только для Window.sessionStorage
и только на время существования этой конкретной вкладки. В то время как пробная версия прекращения поддержки DisableThirdPartyStoragePartitioning
влияет на все сторонние контексты, встроенные в зарегистрированный источник, пробная версия DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
вместо этого регистрирует данный источник для получения неразделенного доступа при внедрении в сторонние контексты.
Пример:
![Схема разделения хранилища после общего паритонирования.](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/blog/storage-partitioning-diag-7e9a6550ebdb2.png?authuser=9&hl=ru)
Что это значит для веб-разработчиков?
Сайты должны проверять использование несекционированного хранилища, сервис-воркеров и коммуникационных API в сторонних контекстах и, при необходимости, готовиться к стороннему секционированию до истечения срока действия пробных версий устаревших данных. Цель состоит в том, чтобы прекратить срок действия этих пробных версий устаревших версий с выпуском Chrome 127 23 июля 2024 года. Срок действия пробной версии устаревших версий Chrome 111–126 истечет 3 сентября 2024 года.
Чтобы дать браузеру указание разделить хранилище стороннего контента, встроенного на его страницы, сайтам верхнего уровня необходимо зарегистрироваться для участия в одной или обеих пробных версиях и добавить соответствующие пробные токены в свои заголовки HTTP-ответов (см. подробный пример). ниже).
Каждая пробная версия устаревшей версии доступна для Windows, Mac, Linux, Chrome OS и Android.
Участвуйте в испытаниях устаревания
Ниже приводится краткий обзор того, как принять участие в одном или обоих испытаниях по прекращению поддержки. Более подробные инструкции можно найти на странице Начало работы с пробными версиями Origin .
- Запустите Chrome версии 115 (или более поздней версии) и убедитесь, что флаг
ThirdPartyStoragePartitioning
включен. - Убедитесь, что поведение стороннего контента, встроенного в ваш сайт верхнего уровня, нарушено разделением хранилища (если нет, то нет необходимости участвовать в испытаниях устаревания).
- Зарегистрируйтесь для участия в пробной версии и получите токен для своих доменов, посетив следующую страницу:
- Чтобы на сайте верхнего уровня можно было разбить хранилище, сервис-воркеры и коммуникационные API во встроенном содержимом стороннего производителя:
DisableThirdPartyStoragePartitioning
- Чтобы сайт верхнего уровня не разделял sessionStorage между переходами:
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
- Чтобы на сайте верхнего уровня можно было разбить хранилище, сервис-воркеры и коммуникационные API во встроенном содержимом стороннего производителя:
- Добавьте пробный токен источника на свою страницу:
- Для пробной версии
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
вы можете добавитьOrigin-Trial: <DEPRECATION TRIAL TOKEN>
в заголовок ответа HTTP вашего сайта верхнего уровня, где<DEPRECATION TRIAL TOKEN>
содержит токен, который вы получили при регистрации для участия в пробной версии устаревшей версии. Вы также можете сделать это через HTML ` ярлык. - Для пробной версии
DisableThirdPartyStoragePartitioning
токен должен быть передан через HTML-тег<meta>
, внедренный с помощью JavaScript. Метод заголовка HTTP не поддерживается.
- Для пробной версии
- Загрузите свой веб-сайт в Chrome 115 (или более поздней версии) с включенным
ThirdPartyStoragePartitioning
и убедитесь, что все проблемы, связанные с секционированием, были должным образом устранены. - Чтобы прекратить участие в пробной версии устаревшей версии, просто удалите токен, добавленный на шаге 2.
Пробная версия DisableThirdPartyStoragePartitioning
, устаревшая, поддерживает функцию пробных версий стороннего источника , но сторонний сценарий, внедряющий токен, должен быть оценен в кадре верхнего уровня перед загрузкой стороннего iframe, к которому не будет применено секционирование. Пробная версия DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
не поддерживает пробные версии сторонних источников, поскольку зарегистрированный пользователь должен был быть сайтом верхнего уровня в какой-то момент существования данной вкладки. Руководство по устранению неполадок в пробных версиях Chrome Origin содержит полный контрольный список, позволяющий убедиться, что ваш токен правильно настроен.
Поделиться отзывом
Любые отзывы или проблемы, с которыми вы сталкиваетесь, отправляйте в репозиторий Github для пробной версии разделенного хранилища .