อ่าน 6 นาที
เอ็มเอชแอลเอช
MHTML ซึ่งเป็น ตัวย่อ ของ " MIME encapsulation of aggregate HTML documents" เป็น รูปแบบไฟล์เก็บถาวรเว็บ ที่ใช้สำหรับรวมโค้ด HTML และทรัพยากรที่เกี่ยวข้อง (เช่น รูปภาพ) ที่แสดงด้วย...
เอ็มเอชแอลเอช
| เอ็มเอชแอลเอช | |
|---|---|
| นามสกุลไฟล์ | .mht, .mhtml |
| สื่อประเภทอินเทอร์เน็ต |
|
| ประเภทของรูปแบบ | ภาษามาร์กอัป |
| ขยายจาก | เอชแอล |
| มาตรฐาน | RFC 2557 (เสนอเมื่อปี 1999) |
MHTMLซึ่งเป็นตัวย่อของ " MIME encapsulation of aggregate HTML documents" เป็นรูปแบบไฟล์เก็บถาวรเว็บที่ใช้สำหรับรวมโค้ด HTML และทรัพยากรที่เกี่ยวข้อง (เช่น รูปภาพ) ที่แสดงด้วยไฮเปอร์ลิงก์ ภายนอกใน โค้ด HTML ของเว็บเพจไว้ในไฟล์คอมพิวเตอร์ เดียว [ 1 ]เนื้อหาของไฟล์ MHTML จะถูกเข้ารหัสโดยใช้เทคนิคเดียวกันกับที่พัฒนาขึ้นครั้งแรกสำหรับ ข้อความ อีเมล HTMLโดยใช้ประเภทเนื้อหา MIME [ 2 ] ไฟล์ MHTML ใช้ส่วนขยายชื่อไฟล์ . mhtml หรือ . mhtml multipart/related.mhtml.mht
ส่วนแรกของไฟล์คือส่วนหัวของอีเมลส่วนที่สองโดยปกติจะเป็นโค้ด HTML ส่วนถัดไปเป็นทรัพยากรเพิ่มเติมที่ระบุโดยตัวระบุตำแหน่งทรัพยากรสากล (URL) ดั้งเดิม และเข้ารหัสด้วยการเข้ารหัสไบนารีเป็นข้อความBase64 MHTML ได้รับการเสนอให้เป็นมาตรฐานเปิดจากนั้นจึงเผยแพร่ในฉบับปรับปรุงในปี 1999 ในชื่อ RFC 2557
นามสกุลไฟล์ . eml .mhtmlและ . .emlmml สามารถใช้แทนกันได้ กล่าวคือ สามารถเปลี่ยนนามสกุลไฟล์จาก .eml เป็น .mml ได้ ข้อความอีเมลสามารถส่งทางอีเมลและแสดงผลผ่านโปรแกรมอีเมลได้ ข้อความอีเมลสามารถบันทึกโดยใช้ นามสกุลไฟล์ .eml .mhtmlหรือ.mht.mml จากนั้นเปิดเพื่อแสดงผลในเว็บเบราว์เซอร์หรือแก้ไขในโปรแกรมอื่นๆ รวมถึงโปรแกรมประมวลผลคำและ โปรแกรม แก้ไขข้อความได้
เค้าโครง
ส่วนหัวของไฟล์ MHTML ประกอบด้วยข้อมูลเมตาเช่นวันที่และเวลาชื่อหน้า URL ของแหล่งที่มา และสตริงขอบเขต แบบสุ่มที่ไม่ซ้ำกัน สำหรับแยกทรัพยากรต่างๆ ภายในไฟล์ สตริงขอบเขตนี้จะถูกกำหนดไว้ที่ตอนต้นของไฟล์และใช้ตลอดทั้งไฟล์
จาก: <บันทึกโดยBlink> ตำแหน่งเนื้อหาภาพ: https://en.wikipedia.org/wiki/Smartphone หัวข้อ:สมาร์ทโฟน-วิกิ พีเดีย วันที่: เสาร์ 24 กันยายน 2022 00:34:32 -0000 เวอร์ชัน MIME: 1.0 ประเภทเนื้อหา: multipart / related ; ประเภท= "text/html" ; ขอบเขต= "----MultipartBoundary--GsIBda0vjy2AKIAIliwl7JMwezXDRjDAsLje9khd5l----"จากนั้น ทรัพยากรของหน้าเว็บจะถูกจัดเรียงตามลำดับ โดยเริ่มต้นจากซอร์สโค้ด HTML ที่แสดงผลของหน้าเว็บ แต่ละทรัพยากรจะมีส่วนหัวเมตาเดตาของตัวเอง ซึ่งระบุประเภท MIMEและตำแหน่งดั้งเดิม
------MultipartBoundary--GsIBda0vjy2AKIAIliwl7JMwezXDRjDAsLje9khd5l---- Content-Type: text / html Content-ID: <[email protected]> Content-Transfer-Encoding: binary Content-Location: https:// en.wikipedia.org /wiki/Smartphone<!DOCTYPE html>ไฟล์ MHTML จบลงด้วยสตริงขอบเขตที่ไม่มีข้อมูลใดๆ ตามมา[ 3 ]
ประเภท MIME
ยังไม่มีข้อตกลงที่แน่ชัดเกี่ยวกับประเภท MIME สำหรับ MHTML ประเภท MIME ที่ใช้กัน ได้แก่:
multipart/relatedapplication/x-mimearchivemessage/rfc822
แอปสนับสนุน
เว็บเบราว์เซอร์
เบราว์เซอร์บางตัวรองรับรูปแบบ MHTML ไม่ว่าจะโดยตรงหรือผ่านส่วนขยาย ของบุคคลที่สาม แต่กระบวนการบันทึกหน้าเว็บพร้อมทรัพยากรต่างๆ เป็นไฟล์ MHTML นั้นยังไม่มีมาตรฐาน ด้วยเหตุนี้ หน้าเว็บที่บันทึกเป็นไฟล์ MHTML โดยใช้เบราว์เซอร์หนึ่ง อาจแสดงผลแตกต่างกันในอีกเบราว์เซอร์หนึ่ง
- Internet Explorer 5เป็นเบราว์เซอร์แรกที่รองรับการอ่านและบันทึกหน้าเว็บและแหล่งข้อมูลภายนอกลงในไฟล์ MHTML ไฟล์เดียว
- หลังจากเปลี่ยนมาใช้ซอร์สโค้ด Chromium แล้ว Microsoft Edge ก็รองรับการบันทึกเว็บเพจเป็นไฟล์ MHTML แล้ว
- Opera :การสนับสนุนการบันทึกเว็บเพจเป็นไฟล์ MHTML มีให้ใช้งานในเว็บเบราว์เซอร์ Opera 9.0 [ 4 ]ตั้งแต่ Opera 9.50 จนถึงผลิตภัณฑ์ Opera ที่ใช้ Presto (เวอร์ชัน 12.16 ณ วันที่ 19 กรกฎาคม 2013) รูปแบบเริ่มต้นสำหรับการบันทึกหน้าเว็บคือ MHTML เวอร์ชันแรกของ Opera ที่ใช้ Webkit/Blink (เวอร์ชัน 15) ไม่รองรับ MHTML แต่เวอร์ชันต่อมา (16 และเวอร์ชันหลังจากนั้น) รองรับ MHTML สามารถเปิดใช้งานได้โดยพิมพ์ "
opera://flags#save-page-as-mhtml" ที่แถบที่อยู่ - Google Chromeเวอร์ชัน 86ขึ้นไป สามารถสร้างไฟล์ MHTML ได้
- Yandex Browser เวอร์ชัน 22.7.4.960 (กรกฎาคม 2022) และเวอร์ชันที่ใหม่กว่า สามารถสร้างไฟล์ MHTML (multipart/related) ได้
- Vivaldi 2.3 และเวอร์ชันที่ใหม่กว่าสามารถสร้างไฟล์ MHTML ได้ [ 5 ]รองรับทั้งการอ่านและการเขียนไฟล์ MHTML โดยการสลับ
vivaldi://flags/#save-page-as-mhtmlตัวเลือก " " - Firefoxไม่รองรับ MHTML [ 6 ]จนถึงเวอร์ชัน 57 ("Firefox Quantum")ส่วนขยายเบราว์เซอร์สองตัวคือ Mozilla Archive Format หรือ UnMHT สามารถอ่านและเขียนไฟล์ MHTML ได้ ส่วนขยายเหล่านี้ไม่เข้ากันกับเวอร์ชัน 57 และเวอร์ชันที่ใหม่กว่า
- Safariเวอร์ชัน 3.1.1 และเวอร์ชันที่ใหม่กว่าได้ยกเลิกการรองรับไฟล์ MHTML โดยตรงแล้ว แต่หันมาใช้ไฟล์ Web Archive แทน เวอร์ชันสำหรับ macOSมีฟีเจอร์พิมพ์เป็นไฟล์ PDFและเช่นเดียวกับเว็บเบราว์เซอร์สมัยใหม่ส่วนใหญ่ คุณสามารถเพิ่มการรองรับไฟล์ MHTML ให้กับ Safari ได้ผ่านส่วนขยายจากผู้พัฒนาภายนอกต่างๆ
- Konqueror เวอร์ชัน 3.5.7 และเวอร์ชันที่ใหม่กว่าได้ยุติการสนับสนุนไฟล์ MHTML แล้ว
mhtconvอย่างไรก็ตาม สามารถใช้โปรเจ็กต์ส่วนขยายเพื่อบันทึกและดูไฟล์ MHTML ได้ - NetFront 3.4 (บนอุปกรณ์ต่างๆ เช่น Sony Ericsson K850 ) สามารถดูและบันทึกไฟล์ MHTML ได้
- Pale Moonจำเป็นต้องติดตั้งส่วนขยายเพื่ออ่านและเขียนไฟล์ MHT ส่วนขยายหนึ่งที่ใช้งานได้ฟรีคือ MozArchiver ซึ่งเป็นส่วนขยายที่พัฒนาต่อยอดมาจากส่วนขยาย Mozilla Archive Format [ 7 ]
- GNOME Webเพิ่มการสนับสนุนสำหรับการอ่านและบันทึกเว็บเพจในรูปแบบ MHTML ตั้งแต่เวอร์ชัน 3.14.1 ที่วางจำหน่ายในเดือนกันยายน พ.ศ. 2557 [ 8 ]
แอปอื่นๆ
- โปรแกรม Problem Steps Recorderสำหรับ Windows สามารถบันทึกผลลัพธ์ในรูปแบบ MHT ได้
- ส่วนขยาย "บันทึกไปยัง Google Drive" สำหรับGoogle Chromeสามารถบันทึกเป็นไฟล์ MHTML ได้เป็นหนึ่งในรูปแบบการส่งออก
- Microsoft OneNote เวอร์ชัน 2010 และเวอร์ชันที่ใหม่กว่า สามารถส่งอีเมลแต่ละหน้าในรูปแบบไฟล์ .mht ได้
- Evernoteสำหรับ Windows สามารถส่งออกบันทึกในรูปแบบ MHT ซึ่งเป็นทางเลือกนอกเหนือจาก HTML หรือรูปแบบ .enex ดั้งเดิมของโปรแกรมเอง
ช่องโหว่
ในเดือนพฤษภาคม พ.ศ. 2558 นักวิจัยคนหนึ่งตั้งข้อสังเกตว่าผู้โจมตีสามารถสร้างเอกสารที่เป็นอันตรายได้โดยการสร้างไฟล์ MHT เพิ่มออบเจ็กต์ MSO ต่อท้าย (MSO เป็นรูปแบบไฟล์ที่ใช้โดย แอปพลิเคชันอีเมล Microsoft Outlook ) และเปลี่ยนชื่อไฟล์ที่ได้เป็นนามสกุล .doc [ 9 ]วิธีการส่งจะเป็นทางอีเมลสแปม[ 10 ]
ในเดือนเมษายน พ.ศ. 2562 นักวิจัยด้านความปลอดภัยได้เผยแพร่รายละเอียดเกี่ยวกับช่องโหว่ XML external entity (XXE)ที่อาจถูกโจมตีได้เมื่อผู้ใช้เปิดไฟล์ MHT เนื่องจากระบบปฏิบัติการ Windows ถูกตั้งค่าให้เปิดไฟล์ MHT ทั้งหมดใน Internet Explorer โดยอัตโนมัติ การโจมตีจึงอาจเกิดขึ้นได้เมื่อผู้ใช้ดับเบิ้ลคลิกที่ไฟล์ที่ได้รับผ่านทางอีเมล การส่งข้อความโต้ตอบแบบทันที หรือช่องทางอื่น รวมถึงเบราว์เซอร์อื่น[ 11 ]
ทางเลือกอื่นๆ
รูปแบบ URI ข้อมูล
รูปแบบ URI ข้อมูลนำเสนอทางเลือกสำหรับการรวมองค์ประกอบแยกต่างหาก เช่น รูปภาพสไตล์ชีตและสคริปต์แบบอินไลน์เมื่อให้บริการคำขอ HTML หรือบันทึกทรัพยากร HTML สำหรับการใช้งานแบบออฟไลน์ เช่นเดียวกับเนื้อหาที่ฝังอยู่ภายใน MHTML URI ข้อมูลใช้การเข้ารหัส Base64 ของทรัพยากรภายนอก (ซึ่งอาจเป็นไบนารีหรือข้อความ) เพื่อฝังแบบอินไลน์ภายในมาร์กอัป HTML หน้า HTML ที่บันทึกโดยฝังองค์ประกอบภายนอกโดยใช้รูปแบบ URI ข้อมูลเป็นหน้าเว็บมาตรฐาน และสามารถเปิดได้ด้วยเบราว์เซอร์สมัยใหม่ใดๆ รวมถึงเบราว์เซอร์ที่ไม่รองรับ MHTML เช่น Mozilla Firefox [ 12 ]แตกต่างจาก MHTML การบันทึกหน้าเว็บโดยฝังทรัพยากรภายนอกโดยใช้ URI ข้อมูลจำเป็นต้องติดตั้งส่วนขยายของบุคคลที่สามในเบราว์เซอร์[ 13 ]
รูปแบบไฟล์เก็บถาวร Mozilla
รูปแบบ Mozilla Archive Format (MAFF) เป็นรูปแบบไฟล์เก็บถาวรเว็บแบบเก่าที่ Firefox รองรับตั้งแต่ปี 2004 ถึง 2018 ผ่านส่วนเสริม[ 14 ]แตกต่างจากทั้ง MHTML และ data URIs ตรงที่ MAFF ใช้ คอนเทนเนอร์ ZIPเพื่อรักษาทั้งไฟล์ HTML และองค์ประกอบภายนอก ในเดือนตุลาคม 2017 ผู้พัฒนาส่วนเสริมได้ประกาศว่ารูปแบบนี้จะไม่ได้รับการสนับสนุนใน Firefox เวอร์ชันในอนาคตอีกต่อไป[ 15 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- คำอธิบายมาตรฐาน MHTML
- RFC 2557 (1999) — การห่อหุ้ม MIME ของเอกสารรวม เช่น HTML (MHTML)
- RFC 2110 (1997, ล้าสมัย) — การห่อหุ้มเอกสารรวม เช่น HTML ด้วย MIME (MHTML)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เอ็มเอชแอลเอช
MHTML ซึ่งเป็น ตัวย่อ ของ " MIME encapsulation of aggregate HTML documents" เป็น รูปแบบไฟล์เก็บถาวรเว็บ ที่ใช้สำหรับรวมโค้ด HTML และทรัพยากรที่เกี่ยวข้อง (เช่น รูปภาพ) ที่แสดงด้วย...
เค้าโครง
ส่วน หัว ของไฟล์ MHTML ประกอบด้วย ข้อมูลเมตา เช่น วันที่และเวลา ชื่อหน้า URL ของแหล่งที่มา และ สตริงขอบเขต แบบสุ่มที่ไม่ซ้ำกัน สำหรับแยกทรัพยากรต่างๆ ภายในไฟล์ สตริงขอบเขตนี้จะถูกกำหนดไว้ที่ตอนต้นของไฟล์และใช้ตลอดทั้งไฟล์
ประเภท MIME
ยังไม่มีข้อตกลงที่แน่ชัดเกี่ยวกับประเภท MIME สำหรับ MHTML ประเภท MIME ที่ใช้กัน ได้แก่:
เว็บเบราว์เซอร์
เบราว์เซอร์บางตัวรองรับรูปแบบ MHTML ไม่ว่าจะโดยตรงหรือผ่าน ส่วนขยาย ของบุคคลที่สาม แต่กระบวนการบันทึกหน้าเว็บพร้อมทรัพยากรต่างๆ เป็นไฟล์ MHTML นั้นยังไม่มีมาตรฐาน ด้วยเหตุนี้ หน้าเว็บที่บันทึกเป็นไฟล์ MHTML โดยใช้เบราว์เซอร์หนึ่ง...