החל מ-Chrome 115, החלוקה למחיצות (partitioning) של צד שלישי כוללת את השימוש באחסון, ב-Service Workers ובממשקי API של תקשורת. בנוסף לכך שהם מבודדים על ידי מדיניות מקור זהה, ממשקי ה-API המושפעים שנעשה בהם שימוש בהקשרים של צד שלישי מופרדים גם על ידי האתר עם ההקשר ברמה העליונה. אתרים שלא היה להם זמן להטמיע תמיכה לחלוקה למחיצות באחסון של צד שלישי יכולים להשתתף בגרסת ניסיון להוצאה משימוש כדי לבטל מחיצות באופן זמני (להמשיך בבידוד בהתאם למדיניות המקור הזהה, אבל להסיר את הבידוד לפי האתר ברמה העליונה) ולשחזר את ההתנהגות הקודמת של אחסון, Service Workers וממשקי API של תקשורת בתוכן שמוטמע באתר.
בנוסף לניסיון כללי של הוצאה משימוש של window.sessionStorage
, אפשר להשתתף בתקופת ניסיון ממוקדת להוצאה משימוש של משתמשים.
תקופת הניסיון הזו זמינה כי אתרים מסוימים צריכים להעביר את תהליך signInWithRedirect
של Firebase. מידע נוסף על ההעברה הזו זמין במאמר הזה.
תקופות ניסיון זמינות להוצאה משימוש
החל מ-Chrome 115, נפתח שתי גרסאות ניסיון להוצאה משימוש:
DisableThirdPartyStoragePartitioning
: מאפשרת לאתר ברמה העליונה לבטל את החלוקה (להסיר באופן זמני את הבידוד על ידי האתר ברמה העליונה) באחסון, ב-Service Workers ובממשקי API של תקשורת בתוכן של צד שלישי שמוטמע בדפים.DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
: מאפשרת לאתר לבטל את החלוקה שלsessionStorage
בין הניווטים.
כך אתרים יוכלו לגלות ולתקן בעיות לפני שחלוקה למחיצות (partitioning) של צד שלישי תתחיל את תהליך ההשקה ב-Chrome 115.
בהמשך יש סקירה כללית של תקופת הניסיון להוצאה משימוש ולמה אפשר לצפות לה. אם תרצו לשתף משוב או אם תיתקלו בבעיות במהלך תקופת הניסיון הזו, תוכלו להודיע לנו על כך במאגר של גרסת הניסיון Partitioned Storage בהוצאה משימוש של GitHub.
DisableThirdPartyStoragePartitioning
ממשקי ה-API הבאים יישארו ללא מחיצות בהקשרים של צד שלישי אם תרשום את האתר ברמה העליונה בגרסת הניסיון של DisableThirdPartyStoragePartitioning
להוצאה משימוש: Storage APIs (כמו localStorage, sessionStorage, IndexedDB, Quota ועוד), Communication APIs (כמו BroadcastChannel, SharedWorkers ו-WebLocks) ו-ServiceWorker API.
דוגמה:
להסבר מפורט יותר, ראו הסבר על הפרויקט.
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
אם תירשמו לתקופת הניסיון של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
להוצאה משימוש, ניווט של כרטיסייה למקור רשום יגרום לכך שכל מסגרות ה-iframe חוצות-האתרים של אותו מקור יישארו ללא חלוקה רק עבור Window.sessionStorage
ורק לכל משך החיים של הכרטיסייה הספציפית הזו.
תקופת הניסיון להוצאה משימוש של DisableThirdPartyStoragePartitioning
משפיעה על כל ההקשרים של צדדים שלישיים שמוטמעים במקור הרשום, אבל תקופת הניסיון של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
להוצאה משימוש רושמת במקום זאת מקור נתון לקבלת גישה ללא חלוקה לקטעים שמוטמעים בהקשרים של צד שלישי.
דוגמה:
מה המשמעות מבחינת מפתחי אתרים?
אתרים צריכים לבצע בדיקה של השימוש שלהם באחסון ללא מחיצות, ב-Service Worker ובממשקי API של תקשורת שאינם מחולקים בהקשרים של צד שלישי, ובמקרה הצורך, להתכונן לחלוקה למחיצות של צד שלישי לפני שתוקף תקופות הניסיון להוצאה משימוש יפוג. המטרה היא להפסיק את התקופות של ההוצאה משימוש של Chrome 127 ב-3 בספטמבר 2024.
כדי להנחות את הדפדפן לבטל את החלוקה למחיצות בתוכן של צד שלישי שמוטמע בדפים שלו, אתרים ברמה העליונה צריכים להירשם לאחד מניסויי ההוצאה משימוש או לשניהם, ולהוסיף את האסימונים התואמים לניסיון לכותרות התגובה של ה-HTTP (ראו דוגמה מפורטת בהמשך).
כל תקופת ניסיון להוצאה משימוש זמינה ב-Windows, ב-Mac, ב-Linux, ב-ChromeOS וב-Android.
להשתתף בתקופות ניסיון להוצאה משימוש
לפניכם סקירה קצרה על ההשתתפות באחד מניסויי ההוצאה משימוש או בשניהם. להוראות מפורטות יותר, ראו תחילת העבודה עם גרסאות מקור לניסיון.
- מפעילים את Chrome בגרסה 115 ואילך ומוודאים שהדגל
ThirdPartyStoragePartitioning
מופעל. - וודאו שההתנהגות של תוכן של צד שלישי המוטמע באתר שלכם ברמה העליונה מקוטעת על ידי חלוקה למחיצות באחסון (אם לא, אין צורך להשתתף בתקופות הניסיון להוצאה משימוש).
- נרשמים לתקופת הניסיון להוצאה משימוש ומקבלים אסימון עבור הדומיינים
במקומות הבאים:
- כדי שאתר ברמה העליונה יבטל מחיצות של אחסון, קובצי שירות (service worker) וממשקי API לתקשורת בתוכן המוטמע של צד שלישי:
DisableThirdPartyStoragePartitioning
- כדי לבטל את החלוקה למחיצות של sessionStorage באתר ברמה העליונה:
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
- כדי שאתר ברמה העליונה יבטל מחיצות של אחסון, קובצי שירות (service worker) וממשקי API לתקשורת בתוכן המוטמע של צד שלישי:
- מוסיפים לדף אסימון מקור לניסיון:
- בגרסת הניסיון של
DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
, אפשר להוסיףOrigin-Trial: <DEPRECATION TRIAL TOKEN>
לכותרת תגובת ה-HTTP של האתר ברמה העליונה, שבה<DEPRECATION TRIAL TOKEN>
מכיל את האסימון שקיבלת במהלך ההרשמה לתקופת הניסיון להוצאה משימוש. אפשר לעשות זאת גם באמצעות HTML ` . - כדי להשתמש בגרסת הניסיון של
DisableThirdPartyStoragePartitioning
, יש לתת את האסימון באמצעות תג<meta>
של HTML, שהוחדר באמצעות JavaScript. השיטה של כותרת ה-HTTP אינה נתמכת.
- בגרסת הניסיון של
- טוענים את האתר ב-Chrome 115 (ואילך) כאשר
ThirdPartyStoragePartitioning
עדיין מופעל, ומוודאים שכל הבעיות הקשורות לחלוקה למחיצות טופלו כראוי. - כדי להפסיק את ההשתתפות בתקופת הניסיון להוצאה משימוש, פשוט מסירים את האסימון שהוספתם בשלב 2.
תקופת הניסיון להוצאה משימוש של DisableThirdPartyStoragePartitioning
כן תומכת בתכונה של גרסאות מקור של צד שלישי, אבל צריך להעריך את הסקריפט של הצד השלישי שמעלה את האסימון במסגרת הרמה העליונה לפני טעינת ה-iframe של הצד השלישי שלא תחול עליו חלוקה למחיצות. תקופת הניסיון להוצאה משימוש של DisableThirdPartySessionStoragePartitioningAfterGeneralPartitioning
לא תומכת בתקופות ניסיון של מקורות צד שלישי, כי המשתמש שנרשם חייב להיות האתר ברמה העליונה בשלב כלשהו במהלך חיי הכרטיסייה הנתונה. במדריך לפתרון בעיות בגרסאות המקור של Chrome מופיעה רשימת משימות מלאה כדי לוודא שהאסימון מוגדר כראוי.
מתן משוב
אפשר לשלוח משוב או בעיות שנתקלתם בהם במאגר של גרסת הניסיון של GitHub בגרסת ניסיון של Partitioned Storage.