الخلاصة
- أخضعت RFC 2987
charsetوlanguageلمقارنة المساواة نفسها، لكنها وصفت الأولى عادة بأنها قدرة، والثانية عادة بأنها تفضيل. - خفّض الاسم الأساسي لمجموعة المحارف ومقارنة وسم اللغة كاملًا الغموض، من دون إثبات فك الترميز أو العرض أو جودة الصوت أو الفهم.
- رتبت قيمة
qمسندات داخل قرار محلي؛ ولم تكن إيصالًا بوجود النسخة أو رضا المستخدم أو نجاح الخدمة.
تسجيلان في قالب واحد
نشرت RFC 2987 في نوفمبر 2000 بوصفها Proposed Standard. لم تبن بروتوكولًا ضخمًا؛ كان معظمها نموذجين للتسجيل وفق إجراء RFC 2506. حصلت charset على المعرّف 1.3.6.1.8.1.31، وحصلت language على 1.3.6.1.8.1.32. وما زال سجل IANA الحالي يضعهما في البندين 31 و32 من شجرة IETF لسمات الوسائط.
أتاح السجل لتطبيقات مستقلة أن تتبادل أوصاف القدرة والتفضيل من غير اختراع قاموس خاص لكل بروتوكول. وقدمت RFC 2533 صيغة لجمع مسندات السمات وإرفاق قيم الجودة بها. كان الاتفاق على الأسماء وقواعد المقارنة مكسبًا تشغيليًا حقيقيًا.
تشابه التسجيلان في الشكل. القيم رموز مسجلة، والمقارنة المسموح بها هي المساواة، وحالة الأحرف لا تغير النتيجة، والأمثلة ترتب بدائل موصولة بـ OR مع أوزان q.
ثم حفظت الوثيقة اختلاف المعنى.
بالنسبة إلى معظم الأجهزة، قالت إن charset قدرة في العادة؛ فالجهاز لا يستطيع عادة معالجة نص ذي مجموعة محارف مجهولة معالجة واعية. أما language فهي في الغالب تفضيل لا مطلب. وكانت كلمة «العرض» تعني غالبًا كلامًا يولده الحاسوب، لكن الحد أوسع من الصوت: أن يفضل شخص لغة لا يعني أن الآلة عاجزة تقنيًا عن التعامل مع كل لغة أخرى.
حملت الآلة النحوية نفسها نوعين مختلفين من القيود.
مجموعة المحارف شرط للتنفيذ
رتب مثال مجموعة المحارف utf-8 ثم iso-8859-1 ثم utf-16 بقيم 1.0 و0.9 و0.5. لا تحول هذه الأرقام وحدة فك ترميز غير موجودة إلى خيار قابل للتنفيذ.
قد يطابق المسند charset=utf-8 ملف تعريف، بينما تكون البايتات الفعلية شيئًا آخر. وقد يغيب المفكك أو يخطئ. وبعد نجاح التحويل قد يغيب الخط الذي يملك المحارف الرسومية. وقد يرى المستخدم محارف صحيحة ولا يفهم النص. المطابقة بداية سلسلة أدلة، وليست إثباتًا نهائيًا.
سجلت RFC 2913 السمة type منفصلة. يستطيع جهاز دعم text/plain من دون دعم كل ترميز ممكن للنص البسيط. نوع التمثيل وقاعدة تحويل البايتات إلى محارف حقيقتان مترابطتان، لا إيصال واحد.
وكانت للأسماء المستعارة مشكلة خاصة. سمحت RFC 2978 بأسماء عدة لمجموعة المحارف، لكنها فرضت اسمًا أساسيًا، وألزمت أن يشير كل اسم إلى مجموعة واحدة فقط. نصحت RFC 2987 بعدم استعمال الأسماء المستعارة في تعبيرات السمات لأن الأدوات قد تحولها إلى الاسم الأساسي أثناء المعالجة.
يقلل الاسم الأساسي المكتوب بحروف صغيرة اختلافات التهجئة غير الضرورية. لكنه لا يختبر جدول التحويل ولا الشفرة العاملة. توحيد الاسم لا ينشئ القدرة.
وطلبت الوثيقة أيضًا أن ترافق قدرة charset أي إعلان بقدرة على معالجة البيانات النصية. فالقول إن المحتوى «نص» لا يحدد القاعدة التي تجعل البايتات محارف.
اللغة تنظم اختيار الإنسان
رتب مثال اللغة no-nynorsk وno-bokmaal وi-sami-no. بقي عامل المقارنة واحدًا، لكن عدم المساواة لم يعن بالضرورة عجز الجهاز.
بنت RFC 1766 وسم اللغة من وسم أساسي ووسوم فرعية محتملة، ثم طلبت من التطبيقات معاملة الوسم الكامل رمزًا واحدًا. كانت الوسوم الفرعية بنية إدارية، لا خريطة عامة للتفاهم بين البشر. لا يثبت الاشتراك في بادئة أن متحدثين يفهم أحدهما الآخر.
حافظت RFC 2987 على هذا القيد: مقارنة الرمز الكامل من غير حساسية لحالة الأحرف، ومن غير استخدام الوسوم الفرعية في المقارنة. لا ينبغي لاشتقاق من بنية النص أن يدعي معرفة باللغة أو بالشخص.
لكن اللغة تفضيل عادة. قد يقبل مستخدم خياره الثاني بدل انقطاع الخدمة، وقد تكون البدائل كلها بلا فائدة لمستخدم آخر. يقرر ذلك ما هو متاح، وترتيب الأولويات، وسياسة الرجوع المحلية.
تحويل كل تفضيل إلى بوابة صلبة يلغي محتوى مفيدًا. وتحويل كل تفضيل إلى اقتراح يمكن تجاهله يلغي المستخدم من القرار. وحد التسجيل المدخلات، ولم يضع حاكمًا عالميًا للاختيار.
قيمة الجودة ليست قياسًا للجودة
في RFC 2533 تعدل قيمة الجودة مسندًا، وتكون 1 إذا غابت. ولم تضع الوثيقة معادلة عامة لدمج كل التفضيلات، لأن التطبيقات تختلف في المرشحين وفي تكلفة الفشل.
لذلك تثبت q=1.0 فقط أن ملفًا رتب ذلك المسند عاليًا في سياق معين. لا تثبت أن الملف حديث، أو أن المحتوى موجود بتلك اللغة، أو أن الصوت واضح، أو أن التسمية تطابق البايتات، أو أن المستخدم أنجز غرضه.
وحتى في مجموعة المحارف، حيث الحد أصلب، لا تستطيع القيمة تركيب مفكك، ولا إثبات حفظ البايتات عبر الوسائط، ولا إثبات العرض.
يحتاج القرار القابل للمراجعة إلى حفظ مجموعة السمات الواردة، ونتيجة التوحيد، وإصدار المقيّم، والسياسة المحلية، والمرشحين، والاختيار، ومورد التنفيذ، ونتيجة العرض. عبارة «نجح التفاوض» لا تجيب عن هذه الأسئلة كلها.
السجل يسمّي السؤال
استمرار قيدي IANA يبرهن قيمة التنسيق الأدنى. تستطيع تطبيقات مستقلة استعمال الاسم نفسه وقاعدة المساواة نفسها. ولا ينشأ عن ذلك مقيّم مركزي.
ينتج طرف ملف التعريف ويقرر ما يعلنه. ويقرر مزود المحتوى النسخ المتاحة. ويقرر المستقبل التوحيد والترتيب والرجوع. ويتحمل المستخدم الأثر. لا يملك طرف واحد السلسلة كلها.
تساعد فكرة «المواصفة الأولية الدنيا» لدى Lu Heng على قراءة التصميم. يثبت المستوى المشترك الأسماء ونطاق القيم وقواعد المقارنة اللازمة للتشغيل البيني؛ وتبقى القرارات التالية محلية. لم تعين RFC 2987 سلطة عالمية للتفضيلات.
لكن الحرية المحلية لا تمحو واجب الإثبات. إذا جعل تطبيق تفضيل اللغة شرطًا قاطعًا أو جعل قدرة مجموعة المحارف اقتراحًا لينًا، فهو يسيطر على التفسير الحاسم. عليه أن يسجل سياسته ونتيجتها، لا أن ينسب قراره إلى السجل.
وتضيف أولوية الشفرة العاملة اختبارًا آخر: ماذا فعل التطبيق المنشور فعلًا؟ يثبت المستند وجود مواصفة، ولا يثبت وجود مفكك أو خط أو صوت أو نسخة محتوى أو ملف حديث. الحقيقة التشغيلية هي ما قارنه النظام واختاره وفكّه وعرضه.
طبقات الواقع هي: التسجيل، والتعبير، والتوحيد، والتقييم، والاختيار، والقدرة، والتنفيذ، والإدراك، والنتيجة. لا تمنح صحة طبقة مبكرة لها وكالة عن الطبقات اللاحقة.
تحذير أمني محدود
لاحظ التسجيلان أن كشف قدرة جهاز على قبول مجموعة محارف أو لغة قد يساعد مهاجمًا قليلًا إذا كان هناك خلل أمني معروف في عرضها داخل تلك البيئة. لم تسم الوثيقة منتجًا أو حادثة.
لكن التحذير يبين أن ملف القدرة بيانات تشغيلية. إنه يوجه الاختيار وقد يكشف سطح هجوم. ينبغي ألا يكشف النظام إلا ما يحتاجه القرار، وألا يقرأ «مقبول» على أنه «آمن».
ليست قيمة RFC 2987 التاريخية أنها جعلت الوسمين متساويين. قيمتها أنها سمحت لهما باقتسام الآلة نفسها من دون محو فرق المعنى.
كان أحد السؤالين غالبًا: هل تستطيع الآلة؟ والآخر: ماذا يفضل الإنسان؟ تستطيع الإجابتان استخدام المساواة والأوزان نفسها، لكنهما لا تملكان السلطة نفسها.
المصادر
- سجل IETF التاريخي لـ RFC 2987
- Lu Heng — Minimum Initial Specification, Localized Future Decision, and Voluntary Adoption
- Lu Heng — طبقات الواقع والقوة الرمزية
- Lu Heng — أولوية الشفرة العاملة
- سجل IANA لوسوم سمات الوسائط
- تصحيحات RFC 2987
- صفحة معلومات RFC 2987
- RFC 1766 — وسوم تعريف اللغات
- RFC 2277 — سياسة IETF لمجموعات المحارف واللغات
- RFC 2506 — إجراء تسجيل وسوم سمات الوسائط
- RFC 2533 — صيغة وصف مجموعات سمات الوسائط
- RFC 2913 — أنواع MIME في تعبيرات السمات
- RFC 2978 — إجراءات IANA لتسجيل مجموعات المحارف
- RFC 2987 — تسجيل
charsetوlanguage
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
