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

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

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

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

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

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

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

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

DisableThirdPartyStoragePartitioning

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

דוגמה:

תרשים חלוקת האחסון למחיצות

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

DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning

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

דוגמה:

תרשים חלוקת המחיצות של האחסון אחרי חלוקה כללית של הנתונים.

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

אתרים צריכים לבדוק את השימוש שלהם באחסון ללא חלוקה למחיצות, בקובצי שירות (service worker) ובממשקי API של תקשורת בהקשרים של צד שלישי, ובמקרה הצורך, להתכונן לחלוקה למחיצות (partitioning) של צד שלישי לפני שהתוקף של תקופות הניסיון להוצאה משימוש. המטרה היא לסיים את תקופות הניסיון האלה להוצאה משימוש של Chrome 127 ב-23 ביולי 2024. ב-3 בספטמבר 2024 תפוג תקופת הניסיון להוצאה משימוש של משתמשים בגרסאות 111 עד 126 של Chrome.

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

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

השתתפות בניסויים של ההוצאה משימוש

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

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

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

מתן משוב

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