הפחתת המחרוזות של סוכן המשתמש היא ניסיון לצמצם את המשטחים ליצירת טביעות אצבע פסיביות על ידי צמצום המידע במחרוזת User-Agent (UA) רק למותג ולגרסה המשמעותית של הדפדפן, להבדל בין גרסה למחשב או לנייד ולפלטפורמה שבה הוא פועל. נכון לעכשיו, מחרוזת UA משותפת בכל בקשת HTTP וחשופה ב-JavaScript לכל המשאבים שהדפדפן טוען. הוא מכיל מידע חשוב על הדפדפן, על הפלטפורמה שבה הוא פועל ועל היכולות שלו. רמזים של לקוח סוכן משתמש (UA-CH) יכולים לספק את אותו מידע כמו המחרוזת המלאה של UA, תוך מתן אפשרות לאתרים לבקש רק את פרטי UA שנחוצים להם.
החל מגרסה Chrome 95 Beta, נפתח את גרסת המקור לניסיון של קיצור User-Agent כדי לאפשר לאתרים להביע הסכמה לקבלת מחרוזת UA מקוצרת כבר עכשיו. כך תוכלו לזהות בעיות ולתקן אותן לפני ש-UA המופחת יהפוך לברירת המחדל ב-Chrome (הצמצום מתוכנן להתחיל ברבעון השני של 2022). אם אתם רוצים לבדוק את גרסת המקור לניסיון אצל משתמשי גרסת הבטא של 95 לפני שהיא תושק לאוכלוסייה היציבה, חשוב להביע הסכמה ולבדוק אותה לפני תאריך ההשקה של Chrome 95 (התאריך המתוכנן הוא 19 באוקטובר 2021).
בהמשך מופיעה סקירה כללית של תקופת הניסיון במקור ומה צפוי לקרות. כמו תמיד, נשמח לקבל מכם משוב או לשמוע על בעיות במהלך תקופת הניסיון הזו במאגר GitHub של UA Reduction.
מהו הסוכן המשתמש?
המחרוזת User-Agent (UA) משותפת בכל בקשת HTTP וחשופה ב-JavaScript לכל המשאבים שהדפדפן טוען. בשלב זה, הוא מכיל מידע משמעותי על הדפדפן ועל הפלטפורמה שבה הוא פועל.
למה הסוכן המשתמש מצטמצם?
הפחתת סוכני משתמשים היא מאמץ לצמצם את הפלטפורמות הפסיביות ליצירת טביעות אצבע בדפדפן Chrome, שהכרזנו עליו לראשונה בינואר 2020. כשמקטינים את המידע שמופיע במחרוזת UA רק למותג ולגרסה המשמעותית של הדפדפן, להבדל בין מחשב לנייד ולפלטפורמה שבה הוא פועל, קשה יותר לזהות משתמשים ספציפיים.
מה המשמעות מבחינת מפתחי אתרים?
בעלי אתרים צריכים להתכונן לקבלת מחרוזות UA מקוצרות, ולשקול להשתתף בגרסת הבטא של המקור (פרטים בהמשך). הערכים המקוצרים של סוכן המשתמש יופיעו ב:
- כותרת הבקשה
User-Agent
של HTTP - ה-getter של JavaScript
navigator.userAgent
- ה-getter של JavaScript
navigator.platform
- ה-getter של JavaScript
navigator.appVersion
כדי לקבל מידע נוסף על הלקוח מעבר למידע שמשותף על ידי User-Agent המופחת, האתרים יצטרכו לעבור לממשק ה-API החדש של Client Hints של User-Agent. לפרטים נוספים על אסטרטגיות העברה, ראו מעבר לטיפים ללקוח של סוכן משתמש.
תוכניות ההפחתה של המחרוזות של סוכן המשתמש לא כוללות כרגע את iOS ו-WebView, ולכן הפלטפורמות האלה ימשיכו לקבל את המחרוזת המלאה של סוכן המשתמש. הסיבה העיקרית לכך היא שהפלטפורמות האלה עדיין לא הטמיעו רמזים על הלקוח (Client Hints) לגבי סוכן המשתמש.
איך פועלת תקופת הניסיון בגרסת המקור?
גרסת המקור לניסיון הזו שונה במקצת מגרסת מקור רגילה לניסיון. ניסויים רגילים של מקור יכולים לשלוט רק בהתנהגות בתגובה (לדוגמה, לשלוט בגישה לממשק API ב-JavaScript של התגובה). במסגרת הניסוי הזה, המטרה שלנו היא לא רק לשנות את מחרוזת ה-UA שסופקה בממשקי ה-API של JavaScript, אלא גם לשנות את הכותרת User-Agent שנשלחת בבקשת ה-HTTP.
כדי לעשות זאת, אנחנו מגדירים רמז זמני ללקוח בשם Sec-CH-UA-Reduced
. נוכחותו בבקשה תצביע על כך שערך הכותרת User-Agent מכיל את מחרוזת UA המקוצרת. ההצעה ללקוח Sec-CH-UA-Reduced
תישלח (יחד עם מחרוזת UA המקוצרת) רק אם אסימון הניסיון של המקור תקף, והיא לא תפעל אחרי שתוקף הניסיון של המקור יפוג.Sec-CH-UA-Reduced
חשוב לזכור שבקשת הניווט הראשונה עדיין תקבל את המחרוזת של סוכן המשתמש ללא צמצום, אלא אם תגדירו את Critical-CH
header
.
בקשות של נכסי משנה לאותו מקור ישלחו באופן אוטומטי את אותה מחרוזת User-Agent שנשלחה בבקשה ברמה העליונה. בקשות של נכסי משנה למקורות של צד שלישי ישלחו גם את אותה מחרוזת User-Agent כמו הבקשה ברמה העליונה, כולל מחרוזת UA מקוצרת אם אסימון הניסיון של המקור תקף, בתנאי שמדיניות ההרשאות מאפשרת זאת.
איך משתתפים בגרסת הניסיון של הפחתת סוכני משתמשים במקור?
כדי להירשם לגרסת המקור לניסיון ולקבל אסימון לדומיינים שלכם, תוכלו להיכנס לדף 'גרסת מקור לניסיון בקיצור סוכן המשתמש'.
מעדכנים את כותרות התגובה של HTTP:
- מוסיפים את
Origin-Trial: <ORIGIN TRIAL TOKEN>
לכותרת התגובה של ה-HTTP, כאשר <ORIGIN TRIAL TOKEN
> מכיל את הטוקן שקיבלת כשנרשמת לתקופת הניסיון במקור. - מוסיפים את
Accept-CH: Sec-CH-UA-Reduced
לכותרת התגובה של HTTP. - ההגדרה
Accept-CH
תגרום לשליחת המחרוזת המקוצרת של סוכן המשתמש רק בבקשות הבאות למקור. כדי לשלוח מחדש את בקשת הניווט הראשונה עם המחרוזת המקוצרת של סוכן המשתמש, צריך להוסיף אתCritical-CH: Sec-CH-UA-Reduced
לכותרת התגובה של ה-HTTP, בנוסף לכותרותAccept-CH
ו-Origin-Trial
. - הערה: אם כותרות התגובה מכילות אסימון
Origin-Trial
ו-Accept-CH: Sec-CH-UA-Reduced
תקינים, כל הבקשות למשאבי משנה (למשל, תמונות או גיליונות סגנונות) וכל הניווטים המשניים (למשל, iframe) ישלחו את מחרוזת UA המקוצרת, גם אם מקורות הבקשות האלה לא רשומים לתוכנית הניסוי למקורות.
- מוסיפים את
טוענים את האתר ב-Chrome M95 (או גרסה מתקדמת יותר) ומתחילים לקבל את מחרוזת UA המקוצרת.
אפשר לשלוח בעיות או משוב למאגר GitHub של UA Reduction.
הדגמה פשוטה של תקופת הניסיון במקור (יחד עם קוד המקור) זמינה בכתובת https://uar-ot.glitch.me/.
איך משתתפים בגרסת הניסיון של מקור הנתונים כתוכן מוטמע של צד שלישי?
החל מגרסה 96 של Chrome, תוכן מוטמע של צד שלישי (למשל, iframe בתוך אתר אחר) יכול להשתתף בגרסת המקור לניסיון בלי צורך להירשם לאתר ברמה העליונה.
כדי להירשם כצד שלישי שמטמיע את הקוד:
- נכנסים לדף Trial for User Agent Reduction ולוחצים על Register.
- כשיוצרים את האסימון, חשוב לסמן את התיבה
Third-party matching
. - כדי לקבל את הכותרת המקוצרת של סוכן המשתמש מההטמעה של הצד השלישי, צריך לעדכן את כותרות התגובה של HTTP.
- כדי לקבל את המחרוזת המקוצרת של סוכן המשתמש בממשקי API של JavaScript, צריך להחדיר את אסימון הניסיון באמצעות JavaScript.
כמה נקודות חשובות לגבי הפעלת תקופת הניסיון במקור ברכיבי הטמעה של צד שלישי:
+ Critical-CH
לא ניתן לציין ברכיבי הטמעה של צד שלישי, ולכן הניווט הראשון לא ישלח את מחרוזת UA המקוצרת, אבל הבקשות של משאבי המשנה של רכיב הטמעה של הצד השלישי ישלחו את מחרוזת UA המקוצרת.
+ אם תקופת הניסיון של המקור מאומתת למקור של הטמעה של צד שלישי, בקשות עתידיות לאותו מקור בניווט ברמה העליונה ישלחו את מחרוזת UA המקוצרת. לכן מומלץ להגדיל את ההשתתפות בתוכנית הניסוי ברמת המקור גם לבקשות ברמה העליונה וגם לבקשות להטמעה.
+ אם סוכן המשתמש השבית קובצי Cookie של צד שלישי, תקופת הניסיון של המקור לא תפעל בכותרת User-Agent
בבקשות להטמעה של צד שלישי, אבל ממשקי ה-API של Javascript עדיין יקבלו את מחרוזת ה-UA המקוצרת.
איך מוודאים שתקופת הניסיון במקור פועלת?
כדי לוודא שהגרסת הבטא של המקור פועלת, בודקים את כותרות הבקשה ומוודאים את הפרטים הבאים:
- כותרת סוכן המשתמש מכילה את הגרסה המקוצרת. כאן מפורטת רשימה של דוגמאות למחרוזות UA מקוצרות.
דרך קלה לדעת היא ששרשור הגרסה המשנית של Chrome מכיל את הערך
0.0.0
. - הכותרת
Sec-CH-UA-Reduced
מוגדרת ל-?1
.
הכותרות של התגובה הראשונית שמכילות את אסימון תקופת הניסיון במקור אמורות להיראות כך:

כותרות הבקשות הבאות שמכילות את מחרוזת UA המקוצרת אמורות להיראות כך:

איך מפסיקים להשתתף בתוכנית הניסיון של הפחתת מידע בסוכן משתמש ברמת המקור?
בכל שלב במהלך תקופת הניסיון, תוכלו להפסיק את ההשתתפות ולקבל את המחרוזת המלאה של סוכן המשתמש. כדי להפסיק את ההשתתפות:
- שולחים כותרת
Accept-CH
בתגובת ה-HTTP, בליSec-CH-UA-Reduced
. הערה: אפשר להשתמש ב-Accept-CH
עם ערך ריק כדי להשיג את זה אם האתר לא מבקש רמזים אחרים ללקוח. - מסירים את הכותרת
Origin-Trial
של תקופת הניסיון של הפחתת מידע בסוכן משתמש מתשובת ה-HTTP. - אם ההגדרה מוגדרת, מסירים את
Sec-CH-UA-Reduced
מהכותרתCritical-CH
בתשובת ה-HTTP.
כמה זמן נמשכת תקופת הניסיון במקור?
תקופת הניסיון של גרסת המקור ל-UA Reduction תימשך לפחות שישה חודשים, שתואמים ל-6 ציוני דרך ב-Chrome. גרסת המקור לניסיון תופיע ב-M95 ותסתיים עד M101. בשלב הזה, צוות Chrome יעריך את המשוב מגרסת המקור לניסיון לפני שימשיך לשלוח את מחרוזת סוכן המשתמש המקוצרת באופן מדורג בהתאם לתוכנית ההשקה. אם נדרש לכם יותר זמן, תוכלו להצטרף לתוכנית ניסיון נוספת של מקור להוצאה משימוש, שתאפשר לכם לגשת למחרוזת UA המלאה לפחות למשך שישה חודשים נוספים. נפרסם פרטים נוספים על תקופת הניסיון להוצאה משימוש כשהיא תהיה מוכנה.
איך משתפים משוב על גרסת הניסיון של הפחתת מידע בסוכן משתמש ברמת המקור?
אפשר לשלוח בעיות או משוב למאגר GitHub של UA Reduction.