الخلاصة

  • ميّز RFC 3339 الأصلي بين -00:00، أي أن لحظة UTC معروفة والإزاحة المحلية مجهولة، وبين Z و+00:00 اللذين قدما UTC مرجعاً مفضلاً. ثم جعل RFC 9557 معنى الإزاحة المجهولة متاحاً لـZ وأبقى +00:00 كما هو.
  • تساوي اللحظات بعد التطبيع لا يعني تساوي الأدلة. يجب فصل النص الخام، وملف التفسير، ومصدر الإزاحة، ودقة الكسور، وحالة الساعة، وجدول الثواني الكبيسة، والالتقاط، ونتيجة التطبيق.

ترك البريد لحظة معروفة ومصدراً محلياً مجهولاً

ظهرت الفكرة قبل صيغة RFC 3339 في ترويسات البريد. يستخدم RFC 2822، ثم RFC 5322، القيمة -0000 لوقت معبّر عنه بالتوقيت العالمي لكنه لا يقدم معلومات عن المنطقة المحلية للنظام الذي أنشأ الرسالة. يعرف القارئ متى، ولا يُدفع إلى اختلاق جواب عن أين كان السياق المحلي.

نقل RFC 3339 الفكرة إلى صيغة الإنترنت ذات النقطتين. كانت -00:00 تقول إن اللحظة في UTC معروفة، لكن الفرق إلى الساعة المحلية غير معروف. أما Z و+00:00 فكانا يعنيان أن UTC هو المرجع المفضل. قد تتحول الصيغ الثلاث إلى الثانية نفسها، ومع ذلك تختلف في ادعاء المصدر.

إذا خزنت قاعدة البيانات اللحظة المطبعة فقط، تحسن البحث لكنها تحذف ذلك الفرق. لم يعد ممكناً تمييز نظام عمل أصلاً في UTC عن نظام عرف اللحظة العالمية وفقد علاقته المحلية.

التحديث غيّر التفسير لا الزمن

شرح RFC 9557 مشكلة الصفر السالب. لم تسمح به ISO 8601:2000 وما بعدها، وكانت تطبيقات تحتاج إلى معنى الإزاحة المحلية المجهولة تستخدم Z بدلاً منه. لذلك حدّث المستند القسم 4.3 من RFC 3339 ليتفق مع الممارسة.

بعد التحديث يستطيع Z أن يعني أن لحظة UTC معروفة والإزاحة المحلية غير معروفة. لم يتغير +00:00؛ فهو يظل يشير إلى أن UTC هو المرجع المفضل. كما لم يُلغ -00:00 رسمياً، وإن كان Z مفضلاً محله لتحقيق قابلية تشغيل أفضل.

هذا يجعل إصدار القاعدة جزءاً من الدليل. فالنص الخام وحده قد يُقرأ لاحقاً بمعنى أحدث، واللحظة المطبعة وحدها لا تكشف النص. يلزم وصل المحارف بمكتبة التحليل وملف التطبيق ومجموعة المعايير السارية.

ولا يثبت صدور RFC جديد أن منتجاً بعينه تبناه. يحتاج الانتقال إلى نسخة برنامج وإعداد وتاريخ نشر واختبار.

الإزاحة الرقمية لم تكن اسم منطقة

يعرّف RFC 3339 الإزاحة بأنها الوقت المحلي ناقص UTC. تكفي هذه العلاقة لحساب اللحظة، لكنها لا تسمي منطقة أو دولة أو قاعدة توقيت صيفي أو موقع جهاز.

قد تتشارك مناطق كثيرة الإزاحة الآن ثم تختلف عند انتقال لاحق. يصف RFC 8536 تنسيق TZif الذي يخزن أوقات الانتقال وأنواع الوقت المحلي والتسميات وتصحيحات الثواني الكبيسة على نحو منفصل. هذه معلومات لا يحملها رقم الإزاحة.

التحويل إلى UTC مفيد لمقارنة الحوادث، لكنه لا يثبت قاعدة المناطق المثبتة ولا المنطقة المختارة ولا نية الوقت المدني مستقبلاً. تلك تحتاج لقطة إعداد وإصدار بيانات.

الإزاحة المجهولة ليست وقتاً عائماً

في RFC 3339 ليست اللحظة هي المجهولة. اللحظة معروفة في UTC، وما ينقص هو علاقتها بالتوقيت المحلي. وقد رفض المستند الوقت المحلي غير المؤهل للتبادل العام لأنه سيفهم خطأ في معظم العالم.

يعرض RFC 5545 نموذجاً مختلفاً متعمداً. وقت التقويم العائم غير مربوط بمنطقة؛ يمكن أن تعني الساعة الحادية عشرة اللحظة المحلية نفسها لكل مشارك، فتقع في لحظات عالمية مختلفة.

إذا وضعت قاعدة البيانات الحالتين تحت عبارة «منطقة مجهولة»، فإنها تمحو موضع عدم اليقين. الأولى تعرف اللحظة وتجهل مصدرها المحلي. الثانية تعرف قراءة الجدار وتترك اللحظة للسياق.

ترتيب النصوص كان امتيازاً مشروطاً

ذكر RFC 3339 أن ترتيب السلاسل قد ينتج ترتيباً زمنياً، لكنه وضع شروطاً: المناطق واحدة، وكتابتها واحدة، وعدد أرقام كسر الثانية واحد. الضمان لا يمتد إلى أي نص يقبله المحلل.

خلط إزاحات مختلفة، أو Z مع +00:00، أو كسور ذات أطوال متفاوتة يخرج من هذا المسار. تسمح ABNF الأساسية أيضاً بـt وz صغيرتين، وإن كان بروتوكول مستهلك يستطيع فرض الحرف الكبير. تصحح قائمة الأخطاء المعتمدة صياغات ونقاطاً في الملحق، ولا يجوز مساواة قواعد ISO المجموعة هناك بملف الإنترنت الأضيق في القسم 5.6.

يمكن إنشاء مفتاح قياسي للفرز، شريطة الاحتفاظ بالأصل والتحويل. وإلا صارت فائدة الفهرسة محواً للدليل.

كثرة الكسور لا تثبت دقة الساعة

احتفظ RFC 3339 بخيار نادر واحد: كسور الثانية، لأغراض الترتيب الدقيق أو الدقة الخاصة. تسمح القاعدة برقم واحد أو أكثر، لكن طول السلسلة يصف طريقة الكتابة ولا يثبت جودة الساعة.

قد تطبع ساعة غير متزامنة تسعة أرقام، فيما تنشر ساعة موثوقة ثواني كاملة. يعالج RFC 5905 على سطح آخر مزامنة NTP والطبقات والإزاحات والأخطاء. الختم النصي ليس تقرير حالة NTP.

يجب فصل عدد الكسور، وحل الساعة، ومصدرها، وآخر مزامنة، وعدم اليقين، ومسار الالتقاط. إضافة الأصفار تغير العرض ولا تضيف قياساً.

الثانية الستون احتاجت جدولاً خارجياً

يسمح RFC 3339 بالقيمة 60 عند نهاية شهر يحتوي ثانية كبيسة موجبة، وينظر في احتمال الثانية السالبة حيث يصبح الحد الأقصى 58. لا تعرف القاعدة النحوية وحدها هل كان التصحيح مقرراً في التاريخ المذكور.

يضع RFC 8536 التصحيحات والانتقالات في بيانات لها إصدار، ويقدم RFC 5905 حالة مختلفة للساعة. قبول 23:59:60 إذن إيصال نحوي فقط إلى أن يُفحص التاريخ أمام الجدول الصحيح.

كذلك لا تعد كل المقاييس الثواني الكبيسة بالطريقة نفسها. ينبغي حفظ المقياس والجدول والتحويل قبل مقارنة سجلات مختلفة.

الختم الزمني لم يصادق على الحدث

وحّد RFC 3339 التمثيل، ولم يثبت هوية المنشئ أو لحظة إرفاق الحقل أو البايتات التي تغطيها التوقيعات. قد يكون الختم قرب توقيع لكنه خارجه، وقد يختلف وقت الاستلام عن الالتقاط، ويمكن لساعة خاطئة أن تنتج مستقبلاً صحيح الصياغة.

يربط الإيصال الدائم النص الخام، وإصدار الملف، والحقول المحللة، واللحظة الناتجة، ورمز الإزاحة، ودليل الساعة، وعدم اليقين، وبيانات المنطقة والكبس، وبصمة الكائن، والتغطية التشفيرية، والنقل، ونتيجة التطبيق.

يكشف تاريخ RFC 3339 المبدأ بوضوح: بقيت اللحظة ثابتة، بينما تغير المعنى القياسي لتمثيلها. التطبيع يحفظ ترتيباً ممكناً؛ أما الثقة فتحتاج إلى سلسلة المصدر كاملة.

المصادر