ما هو ملف MHTML؟
تمثل الملفات ذات الامتداد MHTML تنسيق أرشيف لصفحة الويب يمكن إنشاؤه بواسطة عدد من التطبيقات المختلفة. يُعرف التنسيق باسم تنسيق الأرشيف لأنه يحفظ رمز الويب ** HTML ** والموارد المرتبطة به في ملف واحد. تتضمن هذه الموارد أي شيء مرتبط بصفحة الويب مثل الصور والتطبيقات الصغيرة والرسوم المتحركة وملفات الصوت وما إلى ذلك. يمكن فتح ملفات MHTML في مجموعة متنوعة من التطبيقات مثل Internet Explorer و Microsoft Word. يستخدم Microsoft Windows تنسيق ملف MHTML لتسجيل سيناريوهات المشكلات التي تمت ملاحظتها أثناء استخدام أي تطبيق على Windows يثير مشكلات. يقوم تنسيق ملف MHTML بترميز محتويات الصفحة بشكل مشابه للمواصفات المحددة في message / rfc822 وهي مواصفات متعلقة بالبريد الإلكتروني بالنص العادي. المواصفات الفعلية للتنسيق موضحة بالتفصيل بواسطة RFC 2557.
تنسيق ملف MHTML
تُعرف MHTML أيضًا باسم MIME Encapsulation لمستندات HTML المجمعة لقدرتها على ترميز صفحات الويب بتنسيق HTML مع مواردها إلى أرشيف ويب واحد. وفقًا لمواصفات RFC 2557 ، فإن المستند الإجمالي عبارة عن رسالة مشفرة بواسطة MIME تحتوي على مورد جذر (كائن) بالإضافة إلى موارد أخرى مرتبطة به عبر URIs. قد تكون هذه الموارد الأخرى عبارة عن تمثيل للصور المضمنة وأوراق الأنماط والتطبيقات الصغيرة وما إلى ذلك. بالإضافة إلى ذلك ، يمكن أن تكون هذه هي جذر مستندات الوسائط المتعددة الأخرى. مواصفات المستند الكاملة لتنسيق ملف MHTML كما هو مفصل في RFC 2557 ويجب الرجوع إليها لأي نوع من أنواع تطوير التطبيقات لقراءة / كتابة تنسيق الملف هذا. يحدد المعيار أنه يمكن التعرف على أجزاء الجسم المراد الرجوع إليها إما عن طريق Content-ID أو موقع المحتوى.
رؤوس محتوى MIME
يتم تعريف عنوان محتوى MIME ، موقع المحتوى ، لحل مراجع URI إلى الموارد الموجودة في أجزاء أخرى من الجسم. يمكن أن يظهر هذا الرأس في أي رسالة أو عنوان محتوى.
عنوان موقع المحتوى
موقع المحتوى هو تمثيل لـ URI يقوم بتسمية محتويات جزء من الجسم حيث يتم وضعه. يمكن أن تكون قيمته URI مطلقًا أو نسبيًا. يمكن استخدامه لتسمية مورد لا يمكن استرداده من قبل بعض أو كل مستلمي الرسالة. يُسمح للرسالة الواحدة أن يكون لها عنوان موقع محتوى واحد فقط. مثال على بنية متعددة الأجزاء / ذات صلة تحتوي على أجزاء من الجسم مع تسميات موقع المحتوى و Content-ID:
Content-Type: multipart/related; boundary#"boundary-example";
type#"text/html"
--boundary-example
Content-Type: text/html; charset#"US-ASCII"
... ... <IMG SRC#"fiction1/fiction2"> ... ...
... ... <IMG SRC#"cid:97116092811xyz@foo.bar.net"> ... ...
--boundary-example
Content-Type: image/gif
Content-ID: <97116092511xyz@foo.bar.net>
Content-Location: fiction1/fiction2
--boundary-example
Content-Type: image/gif
Content-ID: <97116092811xyz@foo.bar.net>
Content-Location: fiction1/fiction3
--boundary-example--
عناوين URL لتجميعات MHTML
يختلف URI الخاص بمجموع MHTML عن عنوان URI الجذر الخاص به. يجب أن ينطبق حقل رأس موقع المحتوى على المجموع الكلي إذا تم استخدامه في عنوان عنوان متعدد الأجزاء / مرتبط. وبالمثل ، يمكن أن تختلف مجموعة الموارد المستردة عن مجموعة الموارد المستردة باستخدام مواقع المحتوى لأجزائها عندما يتم استخدام URI الذي يشير إلى تجميع MHTML لاسترداد هذا التجميع. على سبيل المثال ، قد يؤدي استرداد تجميع MHTML إلى إرجاع إصدار قديم ، بينما قد يؤدي استرداد URI الجذر وكائناته المرتبطة المضمنة إلى إرجاع إصدار أحدث.