Поддержка HTTP-заголовков для API доступа к хранилищу

Наталья Маркобородова
Natalia Markoborodova

После успешного тестирования Origin мы запускаем поддержку заголовков доступа к хранилищу (SAH) в Chrome 133.

Что такое заголовки доступа к хранилищу?

Заголовки доступа к хранилищу — это новые заголовки HTTP, которые позволяют встроенному контенту (например, виджетам социальных сетей, календарям, интерактивным инструментам и изображениям) проверять доступ к неразделенным файлам cookie. Ранее это было возможно только с помощью JavaScript . Новые заголовки запроса Sec-Fetch-Storage-Access и ответного заголовка Activate-Storage-Access повышают производительность и удобство использования веб-сайтов, которые полагаются на встроенный контент и поддерживают загрузку ресурсов, отличных от iframe. Изучите документацию для получения подробной информации о реализации.

Заголовок запроса

  Sec-Fetch-Storage-Access: <access-status>

Когда пользователь посещает страницу, которая встраивает межсайтовый контент, браузер автоматически включает заголовок Sec-Fetch-Storage-Access в межсайтовые запросы, которые могут требовать учетные данные (например, файлы cookie). Этот заголовок указывает статус разрешения на доступ к файлам cookie встроенного файла и может иметь следующие значения:

  • none : у встроенного объекта нет разрешения storage-access , и, следовательно, у него нет доступа к нераспределенным файлам cookie.

  • inactive : У вставки есть разрешение storage-access , но она не решила использовать его в текущем контексте. У вставки нет доступа к неразделенным файлам cookie.

  • active : Встроенный файл имеет неразделенный доступ к cookie. Это значение будет включено в любые запросы к кросс-источникам, которые имеют доступ к неразделенным cookie.

Заголовки ответа

  Activate-Storage-Access: <retry-or-load>

Заголовок Activate-Storage-Access указывает браузеру либо повторить запрос с куки, либо загрузить ресурс напрямую с активированным Storage Access API (SAA). Заголовок может иметь следующие значения:

  • load : указывает браузеру предоставить embedder доступ к неразделенным куки для запрошенного ресурса. Включение этого заголовка эквивалентно вызову document.requestStorageAccess() , если разрешение storage-access было предоставлено. Никакого дополнительного запроса пользователю отображаться не будет.

  • retry : сервер отвечает, что браузер должен активировать разрешение на доступ к хранилищу, а затем повторить запрос.

  Activate-Storage-Access: retry; allowed-origin="https://site.example"
  Activate-Storage-Access: retry; allowed-origin=*
  Activate-Storage-Access: load

Основные преимущества

Storage Access Headers — это рекомендуемый, более производительный способ использования Storage Access API (SAA). В целом, это изменение приносит несколько улучшений:

  • Поддержка встраивания без iframe: обеспечивает поддержку SAA для более широкого спектра ресурсов.
  • Сокращение использования сети: меньше запросов и меньший объем полезной нагрузки.
  • Меньше нагрузки на ЦП: меньше обработки JavaScript.
  • Улучшенный UX: устранение мешающих промежуточных загрузок.

Обновите свое решение

При использовании функции заголовков доступа к хранилищу вам может потребоваться обновить код в двух случаях:

  • Вы используете SAA и хотите добиться лучшей производительности за счет использования логики заголовков для последующих запросов storage-access .
  • У вас есть проверка или логика, которые зависят от того, включен ли заголовок Origin в запрос к вашему серверу.

Ознакомьтесь с нашей документацией , чтобы узнать, как использовать заголовки доступа к хранилищу в вашем решении.

Привлекайте и делитесь отзывами

Если у вас есть отзыв или вы столкнулись с какими-либо проблемами, вы можете подать заявку на получение информации . Вы также можете узнать больше о заголовках доступа к хранилищу на GitHub Explainer .