Что означает 7-дневное ограничение Safari на доступное для записи хранилище для разработчиков PWA


Теперь маркетологи знают, как сочтены их дни.

Замешательство по поводу объявления о предстоящем изменения к интеллектуальному предотвращению отслеживания Apple Safari (ИТП) привели к обвинениям Apple в намеренном уничтожении Прогрессивные веб-приложения (PWA) «так же, как они взлетали». Оказывается, это не так. Однако изменения по-прежнему имеют серьезные последствия для веб-разработчиков и маркетологов.

Разработчики сталкиваются с многочисленными проблемами, поскольку поддержка браузерами зависит от функций, которые они могут использовать на современных веб-сайтах. Всегда было сложно иметь дело с такой большой разницей. Повышение сложности дополнительно влияет на развертывание широкого спектра услуг. Если бы поддержка приложений PWA в Safari была ограничена 7-дневным периодом, это серьезно помешало бы прогрессу в интересной области, где требуются значительные усилия.

После 5 лет разработки PWA на основе JavaScript предоставляют разработчикам возможности расширять контент веб-сайта для загрузки в автономном режиме, а также для онлайн-контента для обновления локальных документов, хранящихся с использованием JavaScript. К сожалению, некоторые злоупотребляли расширением хранилища с файлов cookie до «localStorage» и хранилищ кеш-памяти приложений для отслеживания переменных, идентифицирующих личность.

Было бы обидно, если бы такое злоупотребление привело к тому, что на все хранение осталось всего семь дней. Безусловно indexedDB API и localStorage затронуты этим изменением политики, и разработчики должны это учитывать. Apple прояснила свою позицию в отношении регистрации и кеширования Service Worker веб-приложений.

Хранилище Safari с возможностью записи

Хранение, доступное с помощью файлов cookie, очень ограничено, и удаление файлов cookie через семь дней по причинам, связанным с конфиденциальностью и безопасностью, как это предусмотрено политикой ITP, является оправданным. Расширение этой политики, чтобы также удалить «хранилище с возможностью записи», является следующим логическим шагом, за исключением того, что перечисление примера «Регистрации и кеширования Service Worker» прозвучало как сигнал тревоги для разработчиков PWA.

Политика Safari в отношении файлов cookie не является строгим семидневным лимитом. Он включает счетчик на срок до семи неиспользованных дней. Это означает, что каждый раз, когда пользователь открывает Safari и посещает ваш веб-сайт, ваш семидневный счетчик файлов cookie и хранилища с возможностью записи сбрасывается еще на семь дней. Пустые дни не в счет, если пользователь не пользуется Safari.

Когда они открывают Safari и просматривают, не посещая ваш веб-сайт в определенный день, эти дни добавляются к вашему счету. У вас есть семь таких дней, пока ваши файлы cookie и все «хранилище с возможностью записи» не будут удалены. Против вас идет бездействие пользователя на вашем сайте. Пользователям потребуется повторно посетить ваш сайт, чтобы вы могли записать в хранилище и начать с нового счетчика.

С PWA вы получаете бесконечные дни.

Для PWA этого недостаточно. Apple это осознает.

Благодаря тому, как работают PWA, после того, как ваше приложение будет добавлено на главный экран, оно никогда не достигнет семидневного счета. Это потому, что Safari сам по себе не загружает ваше приложение (даже если программа запуска вызывает Safari Webkit’s Объект WebView).

У средства запуска есть собственный счетчик, который полностью отделен от счетчика Safari, и каждая оболочка приложения работает в рамках своего собственного отдельного процесса. Счетчик, ссылающийся на себя в вашем приложении, может сбрасываться только при каждом использовании. Поскольку он сбрасывается каждый раз, никогда, скажем, при открытии другого приложения, вы получаете бесконечное хранилище до тех пор, пока пользователь не удалит ваше приложение.

Примечательно, что команда Webkit решила проблему путаницы с помощью примечания: «Если в вашем веб-приложении действительно происходит удаление данных веб-сайта, сообщите нам об этом, поскольку мы сочтем это серьезной ошибкой. В цели Intelligent Tracking Prevention не входит удаление данных веб-сайтов для первых сторон в веб-приложениях ».

Почему нам должно быть до этого дело?

Разработка и использование PWA набирает обороты. Поскольку это проект, инициированный Google, поддержка Safari важна для его успеха. Инженеры Google были среди тех, кто серьезно обеспокоен новым изменением политики Safari. Первоначально считалось, что фраза «хранилище с возможностью записи» в контексте всего семи дней неиспользованного срока жизни угрожает этому успеху.

Возможно, ITP не намеревается удалять данные в отношениях с первой стороной, которые включают приложения домашнего экрана PWA. Однако они намерены еще больше ограничить конфиденциальность по умолчанию в Safari, чтобы действительно обеспечить надежные отношения с первой стороной, удалив все неиспользуемые данные после 7-дневного счетчика. По крайней мере, теперь маркетологи знают, как сочтены их дни в Safari.