Signed HTTP Exchange

Kinuko Yasuda

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

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

החלפה חתומה: המהות

הפעולה הזו מפרידה את מקור התוכן מהמפיץ. התוכן שלך לפרסם באינטרנט בלי להסתמך על שרת, חיבור, או שירות אירוח! אנחנו שמחים על השימושים האפשריים של SXG, כמו:

  • שליפה מראש (prefetch) כדי לשמור על הפרטיות: במהלך השליפה מראש של משאבים (למשל, by link rel=prefetch) לניווט לאחר מכן יכול לגרום לתחושת הניווט מהירה יותר, יש גם חסרונות של פרטיות. לדוגמה, שליפה מראש של משאבים כשמנווטים בין מקורות שונים באתר היעד, המשתמש יחשוף אותו מעוניין במידע מסוים, גם אם המשתמש בסופו של דבר לא ביקרו באתר. לעומת זאת, SXG מאפשר שליפה מראש של משאבים ממקורות שונים ממטמון מהיר בלי להגיע לאתר היעד, ובכך ליצור עניין בקרב המשתמשים רק אם כשהניווט מתבצע. אנחנו מאמינים שהשינוי הזה יכול להועיל לאתרים שמטרתה להפנות את המשתמשים לאתרים אחרים. באופן ספציפי, Google להשתמש בכך בדפי תוצאות החיפוש ב-Google שיפור כתובות URL מסוג AMP והאצה של קליקים על תוצאות חיפוש.

  • היתרונות של CDN בלי לוותר על השליטה במפתח הפרטי של האישור: תוכן שהפך פתאום לפופולרי (למשל, קישור דרך הדף הראשון של reddit.com) גורם לעומס יתר על האתר שבו התוכן מוצג, ואם האתר קטן יחסית, בדרך כלל כדי להאט או אפילו להפוך לבלתי זמינים באופן זמני. מצב כזה יכול להיות יש להימנע משימוש אם התוכן משותף באמצעות שרתי מטמון מהירים וחזקים או באמצעות SXG מאפשרת לעשות זאת בלי לשתף את מפתחות ה-TLS.

התנסות עם המרות חתומות

המרות חתומות זמינות ב-Chrome 73 ואילך, ובעבר היו זמינות זמין בתור גרסת מקור לניסיון.

יצירת ה-SXG שלך

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

אחרי שמקבלים אישור ל-SXG, אפשר ליצור קבוצת SXG משלך באמצעות מחוללי עזר פורסם ב-github.

אפשר גם לעיין בקבצים לדוגמה של SXG מאגר הקודים של Chrome (למשל, זה הוא הפשוט ביותר שנוצר עבור קובץ טקסט פשוט). לתשומת ליבכם: הם נוצרים בעיקר למטרות בדיקה מקומית. אל תצפו לכך שיש להם אישורים וחותמות זמן תקינים בחתימה.

בדיקה מקומית של התכונה

כדי ליצור SXG למטרות בדיקה, אפשר ליצור אישור עם חתימה עצמית ולאפשר ל-chrome://flags/#allow-sxg-certs-without-extension לקבל Chrome מעבד את ה-SXG שנוצרו עם האישור ללא התוסף המיוחד.

הקוד כמו בדוגמה הבאה אמור לפעול אם השרת, האישור וספקי ה-SXG שלכם. מוגדרים כראוי:

<!-- prefetch the sample.sxg -->
<link rel="prefetch" href="https://your-site.com/sample.sxg" />

<!-- clicking the link below should make Chrome navigate to the inner
     response of sample.sxg (and the prefetched SXG is used) -->
<a href="https://your-site.com/sample.sxg">Sample</a>

לתשומת ליבך, SXG נתמך רק על ידי תג העוגן (<a>) ו-link rel=prefetch ב-Chrome 73 ואילך. חשוב גם לדעת שתוקף החתימה מוגבל ל-7. ימים לכל מפרט, כך שהתוקף של התוכן החתום שלך יפוג תוך זמן קצר יחסית.

שליחת משוב

נשמח לקבל ממך משוב על הניסוי הזה בכתובת webpackage-dev@chromium.org. אפשר להצטרף גם לדיון על מפרט, או דיווח באג ב-Chrome לצוות. המשוב שלכם יעזור מאוד בתהליך הסטנדרטיזציה וגם לעזור לנו לטפל בבעיות יישום.

משוב