גרסת מקור לניסיון של קובצי cookie עם מצב נפרד למחיצות (CHIPS)

החל מגרסה Chrome 100, גרסת המקור לניסיון של CHIPS מאפשרת צירוף קובצי cookie לאחסון 'מחולק למחיצות', עם מאגר נפרד של קובצי cookie לכל אתר ברמה עליונה.

השינויים

  • ספטמבר 2022: אפשר לקרוא את המידע המעודכן על הארכת גרסת המקור לניסיון באמצעות Chrome 106.
  • יוני 2022: החל מגרסה 104 של Chrome, אין יותר צורך להשמיט את המאפיין Domain כדי להגדיר קובצי cookie באמצעות המאפיין Partitioned.
  • מאי 2022: החל מגרסה 103 של Chrome, אין יותר צורך לשלוח כותרת Accept-CH: Sec-CH-Partitioned-Cookies כדי להצטרף לגרסת המקור לניסיון.

מה זה CHIPS?

קובצי cookie עם מצב של חלוקה עצמאית למחיצות (CHIPS) היא הצעה של ארגז החול לפרטיות, שמאפשרת למפתחים לצרף קובץ cookie לאחסון "מחולק למחיצות", עם צנצנות נפרדות של קובצי cookie לכל אתר ברמה העליונה.

קובץ cookie של צד שלישי המחולק למחיצות (Partitions) מקושר לאתר ברמה העליונה שבו הוא מוגדר בהתחלה, ולא ניתן לגשת אליו ממקום אחר. המטרה היא לאפשר הגדרה של קובצי cookie על ידי שירות של צד שלישי, אך לקרוא אותה רק בהקשר של האתר ברמה העליונה שבו הם הוגדרו.

למי מיועדת גרסת המקור לניסיון?

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

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

כמה זמן תימשך תקופת הניסיון?

תקופת הניסיון תהיה זמינה בגרסאות Chrome 100 עד Chrome 105. אפשר לבדוק את לוח הזמנים של ההפצה של Chrome כדי לראות את תאריכי ההפצה המתוכננים.

איך נרשמים לגרסת המקור לניסיון

דרישות מוקדמות

גרסה יציבה 103 של Chrome.

רשימת השלבים

  1. כדי להירשם לגרסת המקור לניסיון ולקבל אסימון של הדומיינים שלך, צריך לעבור אל דף המקור לניסיון של CHIPS.

  2. יש לכלול את הכותרת Origin-Trial עם אסימון חוקי בכל תגובות עם כותרת Set-Cookie שכוללות את Partitioned:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. אפשר להוסיף את המאפיין Partitioned לקובצי cookie באחת משתי הדרכים הבאות:

    • בכותרת Set-Cookie:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • ב-JavaScript:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

דוגמה

אתרים שמשתתפים בגרסת המקור לניסיון צריכים לכלול בתגובה שלהם את הכותרות הבאות:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

אימות התקינות

בדיקת הכותרות

אם הבעת בהצלחה את הסכמתך לגרסת המקור לניסיון והגדרת קובץ cookie עם חלוקה למחיצות, הבקשות הבאות מלקוח Chrome יכללו את כותרת הבקשה Sec-CH-Partitioned-Cookies: ?0 עד לסיום הסשן הנוכחי.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

אם האתר שלכם מקבל את קובץ ה-cookie ללא הרמז ללקוח הזה, ההצטרפות לגרסת המקור לניסיון לא הצליחה וקובץ ה-cookie שאתם מקבלים לא מחולק למחיצות.

תשובות שלא כוללות את הכותרת Set-Cookie עם Partitioned לא ישפיעו על סטטוס ההשתתפות של האתר בגרסת המקור לניסיון.

אם לא תשיבו עם אסימון חוקי בכותרת Origin-Trial, קובצי ה-cookie שחולקו למחיצות במחשב יומרו לקובצי cookie ללא מחיצות.

לפרטים נוספים, אפשר לעיין בתיעוד של CHIPS ב-chromium.org.

DevTools

  1. עוברים אל chrome://flags/#partitioned-cookies ומשנים את ההגדרה ל'מופעל'.
  2. כדי להפעיל מחדש את Chromium, לוחצים על הלחצן 'הפעלה מחדש' בפינה השמאלית התחתונה או עוברים אל chrome://restart.
  3. עוברים אל chrome://settings/cookies ומוודאים שלחצן הבחירה מוגדר לאפשרות 'קבלת כל קובצי ה-cookie' או 'חסימת קובצי cookie של צד שלישי במצב פרטי'.
  4. לטעון את האתר עם ההטמעה.
  5. פותחים את כלי הפיתוח לאפליקציה > קובצי cookie > yourSite ומחפשים את העמודה Partition Key בכלי הפיתוח.

פרטים נוספים

דרישות לגבי קובצי cookie

  • קובצי cookie שחולקו למחיצות חייבים להיות מוגדרים באמצעות Secure ו-Path=/.
  • לא ניתן להשתמש במאפיין SameParty יחד עם Partitioned.

Chrome יאכוף את הכללים האלה לגבי קובצי cookie שהוגדרו עם המאפיין Partitioned, גם אם החלוקה למחיצות של קובצי Cookie מופעלת או מושבתת. קובצי cookie שהוגדרו באופן שגוי יידחו.

אם החלוקה למחיצות של קובצי ה-cookie מושבתת, אבל קובץ ה-cookie מוגדר עם המאפיינים הנכונים, Chrome יתעלם מהמאפיין Partitioned וקובץ ה-cookie שיתקבל עדיין יישלח בבקשות למארח שלו באתרים ברמה עליונה שונים מאלה שבהם הוא הוגדר.

קובצי cookie שמחולקים למחיצות צריכים לכלול גם את המאפיין SameSite=None, כדי לאפשר שליחה של קובצי cookie בהקשר של צד שלישי בדפדפנים שלא תומכים בחלוקה למחיצות (partitioning) של קובצי cookie.

JavaScript ו-Service Workers

מסגרות שמצורפות לגרסת המקור לניסיון יקבלו גישה לקריאה ולכתיבה של קובצי cookie עם חלוקה למחיצות באמצעות ממשקי API של JavaScript, כגון document.cookie ו-CookieStore API. מסגרות שאינן בסקריפטים של תקופת הניסיון לא יוכלו לקרוא או לכתוב קובצי cookie עם חלוקה למחיצות.
גרסת המקור לניסיון של CHIPS לא נתמכת כרגע ב-Service Workers.

עניין ושיתוף משוב