Поддержка 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 указывает браузеру либо повторить запрос с использованием файлов cookie, либо загрузить ресурс напрямую с активированным API доступа к хранилищу (SAA). Заголовок может иметь следующие значения:

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

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

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

Ключевые преимущества

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

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

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

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

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

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

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

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