Weź udział w okresie próbnym wycofywania niepartycji miejsca na dane innej firmy, mechanizmów Service Worker i interfejsów API komunikacji

Od Chrome 115 pamięć masowa, mechanizmy Service Worker i komunikacyjne interfejsy API są partycjonowane w kontekście innych firm. Interfejsy API używane w kontekście innych firm są izolowane przez zasadę tej samej domeny, a interfejsy API, których dotyczy zmiana, są też oddzielone od kontekstu najwyższego poziomu. Witryny, które nie miały czasu na wdrożenie obsługi partycjonowania pamięci przez podmioty zewnętrzne, mogą wziąć udział w okresie próbnym wycofywania, aby tymczasowo rozdzielić (nadal izolowane przez zasadę tej samej domeny, ale usunąć izolację przez witrynę najwyższego poziomu) i przywrócić wcześniejsze zachowanie pamięci, mechanizmów Service Worker i komunikacyjnych interfejsów API w treściach umieszczonych w witrynie.

Oprócz przeprowadzenia ogólnego okresu próbnego wycofywania aplikacji window.sessionStorage możesz wziąć udział w specjalnym okresie próbnym wycofywania. Wersja próbna jest dostępna, ponieważ w niektórych witrynach trzeba przenieść proces signInWithRedirect Firebase. Więcej informacji na temat tej migracji znajdziesz w tym artykule.

Dostępne okresy próbne wycofywania

Począwszy od Chrome 115 rozpoczniemy 2 wersje próbne wycofywania aplikacji:

  1. DisableThirdPartyStoragePartitioning: umożliwia witrynie najwyższego poziomu cofanie partycjonowania (tymczasowo usuwanie izolacji przez witryny najwyższego poziomu) w pamięci, mechanizmach Service Worker i komunikacyjnych interfejsach API w treściach firm zewnętrznych umieszczonych na jej stronach.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning: umożliwia witrynie cofanie partycji sessionStorage z różnych elementów nawigacyjnych.

Umożliwi to witrynom wykrywanie i rozwiązywanie problemów przed rozpoczęciem procesu wdrażania partycjonowania przez inne firmy w wersji Chrome 115.

Poniżej znajdziesz omówienie okresu próbnego wycofywania i tego, czego możesz się spodziewać. Jeśli chcesz podzielić się z nami swoją opinią lub napotkasz jakieś problemy podczas tego okresu próbnego, daj nam znać w repozytorium próbnym wycofywania partycji pamięci masowej z GitHub.

DisableThirdPartyStoragePartitioning

Jeśli zarejestrujesz witrynę najwyższego poziomu w ramach okresu próbnego wycofania DisableThirdPartyStoragePartitioning, nie będą miały one partycjonowania w kontekstach innych firm: interfejsy Storage API (np. localStorage, sessionStorage, IndexedDB, Quota itp.), interfejsy API do komunikacji (np. BroadcastChannel, SharedWorkers, WebLocks) i ServiceWorker API.

Przykład:

Schemat partycjonowania pamięci masowej

Bardziej szczegółowe objaśnienie zawiera wyjaśnienie projektu.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Jeśli zarejestrujesz się w ramach okresu próbnego wycofywania DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, przejście karty do zarejestrowanego źródła spowoduje, że wszystkie elementy iframe z innych witryn tego samego pochodzenia pozostaną niepartycjonowane tylko przez Window.sessionStorage i tylko przez cały czas istnienia danej karty. Podczas gdy okres próbny wycofania DisableThirdPartyStoragePartitioning ma wpływ na wszystkie konteksty innych firm umieszczone w zarejestrowanych źródłach, ten proces DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning zamiast tego rejestruje dane źródło, aby uzyskać niepartycjonowany dostęp, gdy jest osadzony w kontekście innych firm.

Przykład:

Schemat partycjonowania pamięci masowej po ogólnej parytonizacji.

Co to oznacza dla programistów stron internetowych?

Witryny powinny skontrolować użycie niepartycjonowanych pamięci masowej, mechanizmów Service Worker i komunikacyjnych interfejsów API w kontekście rozwiązań zewnętrznych oraz, w razie potrzeby, przygotować się na partycjonowanie przez podmioty zewnętrzne przed wygaśnięciem okresu próbnego wycofania. Planujemy zakończyć okresy próbne wycofywania wraz z wydaniem Chrome 127 3 września 2024 r.

Aby poinstruować przeglądarkę, że ma ona usunąć partycjonowanie zawartości strony innej firmy umieszczonej na jej stronach, witryny najwyższego poziomu muszą zarejestrować się na co najmniej 1 próbę wycofania i dodać odpowiednie tokeny próbne do nagłówków odpowiedzi HTTP (patrz szczegółowy przykład poniżej).

Każda wersja próbna jest dostępna w systemach Windows, macOS, Linux, Chrome OS i Android.

Weź udział w okresach próbnych wycofywania

Poniżej znajdziesz krótkie omówienie tego, jak wziąć udział w jednym lub obu okresach próbnych wycofania. Bardziej szczegółowe instrukcje znajdziesz w artykule Pierwsze kroki z testami origin.

  1. Uruchom Chrome w wersji 115 (lub nowszej) i upewnij się, że włączona jest flaga ThirdPartyStoragePartitioning.
  2. Sprawdź, czy partycjonowanie pamięci masowej nie zakłóca działania treści osób trzecich umieszczonych w witrynie najwyższego poziomu (jeśli nie, nie musisz brać udziału w okresach próbnych wycofania).
  3. Zarejestruj się, by wziąć udział w okresie próbnym wycofywania i uzyskać token dla swoich domen, odwiedzając stronę:
    1. Aby usunąć partycjonowanie pamięci masowej, mechanizmów Service Worker i komunikacyjnych interfejsów API w witrynie najwyższego poziomu z umieszczonej treści innej firmy: DisableThirdPartyStoragePartitioning
    2. Aby usunąć podział sesji w pamięci podręcznej przez witrynę najwyższego poziomu: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Dodaj do strony token próbny origin:
    1. W okresie próbnym DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning możesz dodać Origin-Trial: <DEPRECATION TRIAL TOKEN> do nagłówka odpowiedzi HTTP witryny najwyższego poziomu, gdzie <DEPRECATION TRIAL TOKEN> zawiera token otrzymany podczas rejestracji w wersji próbnej wycofania. Możesz to też zrobić za pomocą HTML każdy film w Twojej mapie witryny ma zdefiniowany tytuł.
    2. W przypadku wersji próbnej DisableThirdPartyStoragePartitioning token musi zostać podany za pomocą tagu HTML <meta> wstrzykniętego za pomocą JavaScriptu. Metoda nagłówka HTTP nie jest obsługiwana.
  5. Załaduj witrynę w Chrome w wersji 115 (lub nowszej) z włączonym ThirdPartyStoragePartitioning i sprawdź, czy problemy z partycjonowaniem zostały prawidłowo rozwiązane.
  6. Aby przestać korzystać z okresu próbnego wycofywania, po prostu usuń token dodany w kroku 2.

Próba wycofania funkcji DisableThirdPartyStoragePartitioning obsługuje funkcję zewnętrznych prób źródłowych, ale skrypt innej firmy, który wstawia token, musi zostać oceniony w ramce najwyższego poziomu, zanim zostanie wczytany zewnętrzny element iframe, w którym nie zastosowano partycjonowania. Okres próbny wycofania usługi DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning nie obsługuje zewnętrznych wersji próbnych, ponieważ w okresie ważności danej karty użytkownik musi być w witrynie najwyższego poziomu. Przewodnik na temat rozwiązywania problemów z testami origin Chrome zawiera pełną listę kontrolną, która pozwala sprawdzić, czy token jest prawidłowo skonfigurowany.

Podziel się opinią

Jeśli napotkasz problemy lub opinie, prześlij do repozytorium GitHuba z próbną wycofaniem partycji na dane w pamięci masowej.