Wyjaśnienie dotyczące wiadomości o obiekcie SharedArrayBuffer

Piątek, 19 marca 2021 roku

Niektórzy użytkownicy dostali z Google Search Console e-maila zatytułowanego „Nowe wymagania dotyczące obiektu SharedArrayBuffers”. Otrzymaliśmy informację, że ta wiadomość była niejasna, dlatego chcielibyśmy przekazać więcej szczegółów o problemie, aby ułatwić podjęcie decyzji o tym, jakie dalsze kroki warto podjąć. Zaktualizowaliśmy też przewodnik na temat włączania izolacji zasobów z innych domen, aby zawierał dodatkowe informacje.

Dlaczego dostaję tę wiadomość?

Wysłaliśmy do Ciebie tę wiadomość, ponieważ wykryliśmy, że JavaScript w Twojej witrynie zawierał obiekt SharedArrayBuffer. Mogło to mieć związek z platformami, bibliotekami lub innymi treściami zewnętrznymi umieszczonymi w Twojej witrynie.

Co to jest SharedArrayBuffer?

SharedArrayBuffer to obiekt JavaScript umożliwiający współdzielenie miejsca w pamięci przez wątki witryny. Witryny używały go, zanim wykryto lukę w zabezpieczeniach „podatność Spectre”, jednak ze względu na to, że luka ta wystąpiła na poziomie procesora i raczej nie zostanie wyeliminowana w najbliższej przyszłości, obsługa obiektu SharedArrayBuffer w przeglądarkach została wyłączona.

Podczas gdy w Chrome przywróciliśmy jego obsługę w wersji na komputery, stosując jako tymczasowe rozwiązanie izolację witryn, standardem umożliwiającym bezpieczną obsługę obiektu SharedArrayBuffer stała się izolacja zasobów z innych domen. Od wersji 92, którą planujemy opublikować pod koniec maja 2021 roku, Chrome również będzie zabezpieczać obiekt SharedArrayBuffer za pomocą izolacji zasobów z innych domen. Obsługa obiektu SharedArrayBuffer w środowisku objętym izolacją zasobów z innych domen została włączona także w przeglądarce Firefox w wersji 76. Mamy nadzieję, że wkrótce dołączą do nas także inne przeglądarki.

Wykrywanie użycia obiektu SharedArrayBuffer w witrynie

Masz 2 możliwości:

  1. Użyj Narzędzi deweloperskich w Chrome, aby sprawdzić ważne strony.
  2. (Opcja zaawansowana) Użyj interfejsu API do raportowania, aby wysłać raporty o wycofaniu do punktu końcowego raportowania.

Szczegółowy opis tych rozwiązań znajdziesz we wskazówkach dotyczących określania, gdzie w witrynie jest używany obiekt SharedArrayBuffer.

Co dalej

Zalecane dalsze kroki:

  1. Ustal, w którym miejscu witryny jest używany obiekt SharedArrayBuffer.
  2. Sprawdź, czy jego używanie jest konieczne.
  3. Rozwiąż problem, usuwając tę funkcję lub włączając izolację zasobów z różnych domen.

Jeśli nie wiesz nic o obiekcie SharedArrayBuffer, a przyszła do Ciebie wiadomość o nim z Search Console, prawdopodobnie używa go w Twojej witrynie zasób innej firmy. Gdy ustalisz, których stron dotyczy problem i kto jest właścicielem zasobu, skontaktuj się z jego dostawcą i poproś o rozwiązanie problemu.

Po opublikowaniu Chrome 92 obiekt SharedArrayBuffer nie będzie działał bez izolowania zasobów z innych domen. W praktyce oznacza to, że użytkownicy Chrome mogą zauważyć w Twojej witrynie pogorszenie wydajności, podobnie jak w innych sytuacjach, w których obiekt SharedArrayBuffer nie jest obsługiwany.

Mamy nadzieję, że te wyjaśnienia Ci się przydadzą, nawet jeśli nie przyszła do Ciebie wiadomość z Search Console. Jeśli masz pytania, najlepiej zadaj je na Forum pomocy Centrum wyszukiwarki, gdzie możesz uzyskać opinie innych ekspertów.