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

Od wersji Chrome 115 interfejsy API pamięci, service workerów i komunikacji są partycjonowane w kontekstach innych firm. Oprócz izolacji przez zasadę dotyczącą tego samego pochodzenia interfejsy API używane w kontekstach innych firm są też oddzielone przez kontekst witryny najwyższego poziomu. Witryny, które nie miały czasu na wdrożenie obsługi partycjonowania pamięci zewnętrznej przez strony trzecie, mogą wziąć udział w próbnym wycofaniu, aby tymczasowo odpartycjonować (nadal izolować według zasady „tego samego źródła”, ale usunąć izolowanie według witryny najwyższego poziomu) i przywrócić wcześniejsze działanie interfejsów API pamięci, usług i komunikacji w ramach treści umieszczonych w witrynie.

Oprócz ogólnego okresu próbnego bez partycjonowania możesz wziąć udział w okresie próbnym wycofywania tylko w przypadku window.sessionStorage. Ta wersja próbna jest dostępna, ponieważ niektóre witryny muszą przenieść proces signInWithRedirect Firebase. Więcej informacji o tej migracji znajdziesz w tym artykule.

Dostępne wersje próbne wycofanych funkcji

Od wersji Chrome 115 rozpoczniemy 2 testy wycofywania:

  1. DisableThirdPartyStoragePartitioning: pozwala witrynie najwyższego poziomu na odseparowanie (tymczasowe usunięcie izolacji przez witrynę najwyższego poziomu) w interfejsach API pamięci masowej, service workerów i komunikacji w treściach innych firm umieszczonych na jej stronach.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning: pozwala witrynie na odseparowanie sessionStorage w trakcie nawigacji.

Dzięki temu właściciele witryn będą mogli wykrywać i rozwiązywać problemy, zanim w Chrome 115 rozpocznie się proces partycjonowania przez firmy zewnętrzne.

Poniżej znajdziesz omówienie okresu testowego wycofania i informacje o tym, czego możesz się spodziewać. Jeśli chcesz podzielić się opinią lub napotkasz problemy podczas testów, daj nam znać w repozytorium na GitHubie poświęconym testom wycofywania obsługi partycjonowanego magazynu danych.

DisableThirdPartyStoragePartitioning

Jeśli zarejestrujesz witrynę najwyższego poziomu w programie DisableThirdPartyStoragePartitioning wycofania z użycia, te interfejsy API pozostaną niepartycjonowane w kontekstach podmiotów zewnętrznych: interfejsy API miejsca na dane (np. localStorage, sessionStorage, IndexedDB, Quota i inne), interfejsy API komunikacji (np. BroadcastChannel, SharedWorkers i WebLocks) oraz interfejs ServiceWorker API.

Przykład:

Schemat partycjonowania miejsca na dane

Więcej informacji znajdziesz w artykule na temat projektów.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

Jeśli weźmiesz udział w próbie DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning wycofania, przejście na kartę z zarejestrowanym źródłem spowoduje, że wszystkie iframe firm zewnętrznych tego samego źródła pozostaną niedzielone tylko w przypadku Window.sessionStorage i tylko przez czas trwania danej karty. Test DisableThirdPartyStoragePartitioning dotyczy wszystkich kontekstów zewnętrznych umieszczonych w zarejestrowanym pochodzeniu, natomiast test DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning dotyczy rejestrowania danego pochodzenia w celu uzyskania dostępu bez podziału, gdy jest ono umieszczane w kontekstach zewnętrznych.

Przykład:

Schemat partycjonowania miejsca na dane po ogólnym partycjonowaniu.

Co to oznacza dla programistów stron internetowych?

Witryny powinny sprawdzić, jak są wykorzystywane w kontekstach innych firm interfejsy API niepartycjonowanego magazynu, Service Worker i interfejsy API do komunikacji. W razie potrzeby należy się przygotować do partycjonowania w innych firmach przed wygaśnięciem okresu testowego. Chcemy zakończyć te testy wycofywania w czasie wydania Chrome 127 23 lipca 2024 r. Okres próbny w przypadku wycofania będzie trwał do 3 września 2024 r. w przypadku użytkowników Chrome w wersjach od 111 do 126.

Aby polecić przeglądarce odblokowanie pamięci w ramach treści innych firm wbudowanych na stronach, witryny najwyższego poziomu muszą zarejestrować się w jednym lub obu testach wycofywania i dodać odpowiednie tokeny testowe do nagłówków odpowiedzi HTTP (patrz szczegółowy przykład poniżej).

Każda wersja próbna wycofania jest dostępna w systemach Windows, Mac, Linux, ChromeOS i Android.

Uczestniczyć w testach wycofywania

Poniżej znajdziesz krótkie omówienie tego, jak wziąć udział w jednym lub obu testach wycofania. Aby uzyskać bardziej szczegółowe instrukcje, przeczytaj artykuł Pierwsze kroki z testami pochodzenia.

  1. Uruchom Chrome w wersji 115 (lub nowszej) i sprawdź, czy flaga ThirdPartyStoragePartitioning jest włączona.
  2. Sprawdź, czy działanie treści innych firm umieszczonych w Twojej witrynie najwyższego poziomu jest zaburzone przez partycjonowanie pamięci (jeśli nie, nie musisz uczestniczyć w testach wycofywania).
  3. Zarejestruj się w programie wersji próbnej przed wycofaniem i uzyskaj token dla swoich domen, korzystając z tych linków:
    1. Aby witryna najwyższego poziomu mogła odpartycjonować miejsce na dane, usługi dla programistów i interfejsy API komunikacji w treściach zewnętrznych wbudowanych w witrynę: DisableThirdPartyStoragePartitioning
    2. Aby witryna najwyższego poziomu nie dzieliła sessionStorage na podstawie nawigacji: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. Dodaj token wersji próbnej do swojej strony:
    1. W przypadku wersji próbnej DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning możesz dodać parametr Origin-Trial: <DEPRECATION TRIAL TOKEN> do nagłówka odpowiedzi HTTP witryny najwyższego poziomu. Wartość parametru <DEPRECATION TRIAL TOKEN> to token, który otrzymasz podczas rejestracji w ramach wersji próbnej wycofania. Możesz to też zrobić za pomocą kodu HTML: .
    2. W przypadku wersji próbnej DisableThirdPartyStoragePartitioning token musi być przekazany za pomocą tagu HTML <meta> wstrzykniętego za pomocą JavaScriptu. Metoda nagłówka HTTP nie jest obsługiwana.
  5. Otwórz witrynę w Chrome 115 (lub nowszej wersji) z opcją ThirdPartyStoragePartitioning nadal włączoną i sprawdź, czy wszystkie problemy związane z partycjonowaniem zostały odpowiednio rozwiązane.
  6. Aby zrezygnować z testowania wersji wycofywanej, usuń token dodany w kroku 2.

Wersja próbna DisableThirdPartyStoragePartitioning obsługuje testy pochodzenia zewnętrznego, ale skrypt zewnętrzny, który wstrzykuje token, musi zostać oceniony w ramce najwyższego poziomu, zanim zostanie załadowany element iframe zewnętrzny, do którego nie zostanie zastosowane partycjonowanie. Test DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning wycofania nie obsługuje testów pochodzenia od podmiotu zewnętrznego, ponieważ uczestnik musi być w jakimś momencie w trakcie trwania danej karty witryną najwyższego poziomu. Przewodnik na temat rozwiązywania problemów z testami pochodzenia w Chrome zawiera pełną listę kontrolną, która pomoże Ci sprawdzić, czy token jest prawidłowo skonfigurowany.

Podziel się opinią

Prześlij opinię lub informacje o problemach do repozytorium GitHub dotyczącego wycofywania partycjonowanego miejsca na dane.