השתתפות בתקופת ניסיון להוצאה משימוש של צדדים שלישיים לאחסון של צד שלישי, של קובצי שירות (service worker) ושל ממשקי Communication API ללא מחיצות

החל מ-Chrome 115, החלוקה למחיצות (partitioning) של צד שלישי כוללת את השימוש באחסון, ב-Service Workers ובממשקי API של תקשורת. בנוסף לכך שהם מבודדים על ידי מדיניות מקור זהה, ממשקי ה-API המושפעים שנעשה בהם שימוש בהקשרים של צד שלישי מופרדים גם על ידי האתר עם ההקשר ברמה העליונה. אתרים שלא היה להם זמן להטמיע תמיכה לחלוקה למחיצות באחסון של צד שלישי יכולים להשתתף בגרסת ניסיון להוצאה משימוש כדי לבטל מחיצות באופן זמני (להמשיך בבידוד בהתאם למדיניות המקור הזהה, אבל להסיר את הבידוד לפי האתר ברמה העליונה) ולשחזר את ההתנהגות הקודמת של אחסון, Service Workers וממשקי API של תקשורת בתוכן שמוטמע באתר.

בנוסף לניסיון כללי של הוצאה משימוש של window.sessionStorage, אפשר להשתתף בתקופת ניסיון ממוקדת להוצאה משימוש של משתמשים. תקופת הניסיון הזו זמינה כי אתרים מסוימים צריכים להעביר את תהליך signInWithRedirect של Firebase. מידע נוסף על ההעברה הזו זמין במאמר הזה.

תקופות ניסיון זמינות להוצאה משימוש

החל מ-Chrome 115, נפתח שתי גרסאות ניסיון להוצאה משימוש:

  1. DisableThirdPartyStoragePartitioning: מאפשרת לאתר ברמה העליונה לבטל את החלוקה (להסיר באופן זמני את הבידוד על ידי האתר ברמה העליונה) באחסון, ב-Service Workers ובממשקי API של תקשורת בתוכן של צד שלישי שמוטמע בדפים.
  2. DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning: מאפשרת לאתר לבטל את החלוקה של sessionStorage בין הניווטים.

כך אתרים יוכלו לגלות ולתקן בעיות לפני שחלוקה למחיצות (partitioning) של צד שלישי תתחיל את תהליך ההשקה ב-Chrome 115.

בהמשך יש סקירה כללית של תקופת הניסיון להוצאה משימוש ולמה אפשר לצפות לה. אם תרצו לשתף משוב או אם תיתקלו בבעיות במהלך תקופת הניסיון הזו, תוכלו להודיע לנו על כך במאגר של גרסת הניסיון Partitioned Storage בהוצאה משימוש של GitHub.

DisableThirdPartyStoragePartitioning

ממשקי ה-API הבאים יישארו ללא מחיצות בהקשרים של צד שלישי אם תרשום את האתר ברמה העליונה בגרסת הניסיון של DisableThirdPartyStoragePartitioning להוצאה משימוש: Storage APIs (כמו localStorage, sessionStorage, IndexedDB, Quota ועוד), Communication APIs (כמו BroadcastChannel, SharedWorkers ו-WebLocks) ו-ServiceWorker API.

דוגמה:

תרשים חלוקה למחיצות (partitioning) באחסון

להסבר מפורט יותר, ראו הסבר על הפרויקט.

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

אם תירשמו לתקופת הניסיון של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning להוצאה משימוש, ניווט של כרטיסייה למקור רשום יגרום לכך שכל מסגרות ה-iframe חוצות-האתרים של אותו מקור יישארו ללא חלוקה רק עבור Window.sessionStorage ורק לכל משך החיים של הכרטיסייה הספציפית הזו. תקופת הניסיון להוצאה משימוש של DisableThirdPartyStoragePartitioning משפיעה על כל ההקשרים של צדדים שלישיים שמוטמעים במקור הרשום, אבל תקופת הניסיון של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning להוצאה משימוש רושמת במקום זאת מקור נתון לקבלת גישה ללא חלוקה לקטעים שמוטמעים בהקשרים של צד שלישי.

דוגמה:

תרשים חלוקה למחיצות (partitioning) באחסון אחרי הפרדה כללית.

מה המשמעות מבחינת מפתחי אתרים?

אתרים צריכים לבצע בדיקה של השימוש שלהם באחסון ללא מחיצות, ב-Service Worker ובממשקי API של תקשורת שאינם מחולקים בהקשרים של צד שלישי, ובמקרה הצורך, להתכונן לחלוקה למחיצות של צד שלישי לפני שתוקף תקופות הניסיון להוצאה משימוש יפוג. המטרה היא להפסיק את התקופות של ההוצאה משימוש של Chrome 127 ב-3 בספטמבר 2024.

כדי להנחות את הדפדפן לבטל את החלוקה למחיצות בתוכן של צד שלישי שמוטמע בדפים שלו, אתרים ברמה העליונה צריכים להירשם לאחד מניסויי ההוצאה משימוש או לשניהם, ולהוסיף את האסימונים התואמים לניסיון לכותרות התגובה של ה-HTTP (ראו דוגמה מפורטת בהמשך).

כל תקופת ניסיון להוצאה משימוש זמינה ב-Windows, ב-Mac, ב-Linux, ב-ChromeOS וב-Android.

להשתתף בתקופות ניסיון להוצאה משימוש

לפניכם סקירה קצרה על ההשתתפות באחד מניסויי ההוצאה משימוש או בשניהם. להוראות מפורטות יותר, ראו תחילת העבודה עם גרסאות מקור לניסיון.

  1. מפעילים את Chrome בגרסה 115 ואילך ומוודאים שהדגל ThirdPartyStoragePartitioning מופעל.
  2. וודאו שההתנהגות של תוכן של צד שלישי המוטמע באתר שלכם ברמה העליונה מקוטעת על ידי חלוקה למחיצות באחסון (אם לא, אין צורך להשתתף בתקופות הניסיון להוצאה משימוש).
  3. נרשמים לתקופת הניסיון להוצאה משימוש ומקבלים אסימון עבור הדומיינים במקומות הבאים:
    1. כדי שאתר ברמה העליונה יבטל מחיצות של אחסון, קובצי שירות (service worker) וממשקי API לתקשורת בתוכן המוטמע של צד שלישי: DisableThirdPartyStoragePartitioning
    2. כדי לבטל את החלוקה למחיצות של sessionStorage באתר ברמה העליונה: DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
  4. מוסיפים לדף אסימון מקור לניסיון:
    1. בגרסת הניסיון של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning, אפשר להוסיף Origin-Trial: <DEPRECATION TRIAL TOKEN> לכותרת תגובת ה-HTTP של האתר ברמה העליונה, שבה <DEPRECATION TRIAL TOKEN> מכיל את האסימון שקיבלת במהלך ההרשמה לתקופת הניסיון להוצאה משימוש. אפשר לעשות זאת גם באמצעות HTML ` .
    2. כדי להשתמש בגרסת הניסיון של DisableThirdPartyStoragePartitioning, יש לתת את האסימון באמצעות תג <meta> של HTML, שהוחדר באמצעות JavaScript. השיטה של כותרת ה-HTTP אינה נתמכת.
  5. טוענים את האתר ב-Chrome 115 (ואילך) כאשר ThirdPartyStoragePartitioning עדיין מופעל, ומוודאים שכל הבעיות הקשורות לחלוקה למחיצות טופלו כראוי.
  6. כדי להפסיק את ההשתתפות בתקופת הניסיון להוצאה משימוש, פשוט מסירים את האסימון שהוספתם בשלב 2.

תקופת הניסיון להוצאה משימוש של DisableThirdPartyStoragePartitioning כן תומכת בתכונה של גרסאות מקור של צד שלישי, אבל צריך להעריך את הסקריפט של הצד השלישי שמעלה את האסימון במסגרת הרמה העליונה לפני טעינת ה-iframe של הצד השלישי שלא תחול עליו חלוקה למחיצות. תקופת הניסיון להוצאה משימוש של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning לא תומכת בתקופות ניסיון של מקורות צד שלישי, כי המשתמש שנרשם חייב להיות האתר ברמה העליונה בשלב כלשהו במהלך חיי הכרטיסייה הנתונה. במדריך לפתרון בעיות בגרסאות המקור של Chrome מופיעה רשימת משימות מלאה כדי לוודא שהאסימון מוגדר כראוי.

מתן משוב

אפשר לשלוח משוב או בעיות שנתקלתם בהם במאגר של גרסת הניסיון של GitHub בגרסת ניסיון של Partitioned Storage.