Signed HTTP Exchanges

Kinuko Yasuda

Signed HTTP Exchange (أو "SXG") هي مجموعة فرعية من التكنولوجيا الناشئة التي تسمى حزم الويب، التي تمكن الناشرين من جعل المحتوى الخاص بهم قابلاً للنقل بأمان، أي بإتاحة إعادة توزيعه من قبل جهات أخرى الأطراف المعنية، مع الحفاظ على نزاهة المحتوى وذِكر المساهمين فيه. محمولة للمحتوى فوائد عديدة، بدءًا من إتاحة المحتوى بشكل أسرع وصولاً إلى وتسهيل مشاركة المحتوى بين المستخدمين وتجارب أبسط بلا اتصال بالإنترنت.

إذًا، كيف تعمل عمليات Signed HTTP Exchange؟ تتيح هذه التقنية للناشر توقيع تبادل HTTP واحد (أي، زوج طلب/استجابة)، بالطريقة التي يمكن بها تنسيق Signed Exchange من أي خادم تخزين مؤقت. عندما يحمّل المتصفح Signed Exchange هذا، يمكنه عرض عنوان URL للناشر بأمان في شريط العناوين لأنّ التوقيع في المقابل دليلاً كافيًا على أنّ المحتوى مصدره المصدر مصدر الناشر

Signed Exchange: الجوهر

يؤدي هذا الإجراء إلى فصل أصل المحتوى عن مَن يوزّعه. المحتوى الخاص بك يمكن نشرها على الويب، دون الاعتماد على خادم محدد أو اتصال أو خدمة الاستضافة نحن متحمّسون بشأن الاستخدامات المحتملة لآلية SXG، مثل:

  • الجلب المُسبَق للحفاظ على الخصوصية: أثناء جلب الموارد مسبقًا (مثل بواسطة الرابط rel=prefetch) لأي عملية تنقل لاحقة يمكن أن يجعل التنقل يبدو أسرع كثيرًا، له أيضًا جوانب سلبية من الخصوصية. على سبيل المثال، يعد الجلب المسبق لموارد ستفصح عمليات التنقل من مصادر متعددة إلى موقع الوجهة عن أنّ المستخدم من المحتمل أن يهتم بجزء من المعلومات حتى لو كان المستخدم لم يزروا الموقع في النهاية. من ناحية أخرى، تسمح آلية SXG جلب الموارد من مصادر متعددة مسبقًا من ذاكرة تخزين مؤقت سريعة بدون الوصول إلى أي إلى موقع الوجهة، وبالتالي التعبير عن اهتمام المستخدم فقط إذا عند حدوث التنقل. نعتقد أنّ هذا الإجراء قد يكون مفيدًا للمواقع الإلكترونية. التي يكون هدفها إرسال مستخدميها إلى مواقع ويب أخرى. وعلى وجه الخصوص، Google تخطط لاستخدام هذا في صفحات نتائج بحث Google تحسين عناوين URL لصفحات AMP النقرات على نتائج البحث وتسرّعها

  • مزايا شبكة توصيل المحتوى (CDN) بدون التنازل عن التحكّم في المفتاح الخاص لشهادتك: المحتوى الذي أصبح رائجًا فجأةً (على سبيل المثال، مرتبط من reddit.com) بشكل زائد على الموقع والمحتوى الذي يتم عرضه، وإذا كان الموقع صغيرًا نسبيًا، يميل أن يصبح بطيئًا أو قد يصبح غير متاح مؤقتًا. يمكن أن يكون هذا الموقف يتم تجنُّبه إذا تمت مشاركة المحتوى باستخدام خوادم ذاكرة تخزين مؤقت وسريعة وفعّالة تجعل ذلك ممكنًا بدون مشاركة مفاتيح بروتوكول أمان طبقة النقل (TLS).

تجربة Signed Exchange

تتوفّر آلية Signed Exchange في الإصدار 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. في الإصدار 73 من Chrome والإصدارات الأحدث لاحظ أيضًا أن صلاحية التوقيع محددة بـ 7 يومًا لكل مواصفات، لذا ستنتهي صلاحية المحتوى الموقَّع بسرعة نسبيًا.

تقديم الملاحظات

تسرّنا معرفة آرائك وملاحظاتك حول هذه التجربة على webpackage-dev@chromium.org. يمكنك والانضمام أيضًا إلى مناقشة المواصفات أو إبلاغ خطأ في Chrome للفريق. ستساعد ملاحظاتك جدًا في عملية توحيد المقاييس. ومساعدتنا أيضًا في حلّ المشاكل في عملية التنفيذ

ملاحظات