Τι είναι ένα αρχείο MHTML;
Τα αρχεία με επέκταση MHTML αντιπροσωπεύουν μια μορφή αρχείου ιστοσελίδων που μπορεί να δημιουργηθεί από έναν αριθμό διαφορετικών εφαρμογών. Η μορφή είναι γνωστή ως μορφή αρχειοθέτησης επειδή αποθηκεύει τον κώδικα ιστού HTML και τους σχετικούς πόρους σε ένα μόνο αρχείο. Αυτοί οι πόροι περιλαμβάνουν οτιδήποτε συνδέεται με την ιστοσελίδα, όπως εικόνες, μικροεφαρμογές, κινούμενα σχέδια, αρχεία ήχου και ούτω καθεξής. Τα αρχεία MHTML μπορούν να ανοίξουν σε μια ποικιλία εφαρμογών όπως ο Internet Explorer και το Microsoft Word. Τα Microsoft Windows χρησιμοποιούν μορφή αρχείου MHTML για την καταγραφή σεναρίων προβλημάτων που παρατηρούνται κατά τη χρήση οποιασδήποτε εφαρμογής στα Windows που εγείρει προβλήματα. Η μορφή αρχείου MHTML κωδικοποιεί τα περιεχόμενα της σελίδας παρόμοια με τις προδιαγραφές που ορίζονται στο μήνυμα/rfc822, το οποίο είναι προδιαγραφές που σχετίζονται με μηνύματα ηλεκτρονικού ταχυδρομείου απλού κειμένου. Οι πραγματικές προδιαγραφές της μορφής αναφέρονται λεπτομερώς στο RFC 2557.
Μορφή αρχείου MHTML
Το MHTML είναι επίσης γνωστό ως MIME Encapsulation of Aggregate HTML έγγραφα για την ικανότητά του να κωδικοποιεί ιστοσελίδες HTML μαζί με τους πόρους του σε ένα ενιαίο αρχείο Ιστού. Σύμφωνα με τις προδιαγραφές του RFC 2557, ένα συγκεντρωτικό έγγραφο είναι ένα μήνυμα κωδικοποιημένο με MIME που περιέχει έναν πόρο ρίζας (αντικείμενο) καθώς και άλλους πόρους που συνδέονται με αυτόν μέσω URI. Τέτοιοι άλλοι πόροι μπορεί να είναι αναπαράσταση ενσωματωμένων εικόνων, φύλλων στυλ, μικροεφαρμογών κ.λπ. Επιπλέον, αυτοί μπορεί να είναι η ρίζα άλλων εγγράφων πολυμέσων. Οι πλήρεις προδιαγραφές του εγγράφου για τη μορφή αρχείου MHTML αναφέρονται λεπτομερώς στο RFC 2557 και θα πρέπει να αναφέρονται για κάθε είδους ανάπτυξη εφαρμογής για ανάγνωση/εγγραφή αυτής της μορφής αρχείου. Το πρότυπο προσδιορίζει ότι τα μέρη του σώματος προς αναφορά μπορούν να αναγνωριστούν είτε από ένα Content-ID είτε από ένα Content-Location.
Κεφαλίδες περιεχομένου MIME
Μια κεφαλίδα περιεχομένου MIME, Content-Location, ορίζεται για την επίλυση αναφορών URI σε πόρους σε άλλα μέρη του σώματος. Αυτή η κεφαλίδα μπορεί να εμφανίζεται σε οποιαδήποτε επικεφαλίδα μηνύματος ή περιεχομένου.
Κεφαλίδα Περιεχομένου-Τοποθεσίας
Το Content-Location είναι μια αναπαράσταση ενός URI που επισημαίνει τα περιεχόμενα ενός μέρους του σώματος όπου είναι τοποθετημένο. Η τιμή του μπορεί να είναι απόλυτο ή σχετικό URI. Μπορεί να χρησιμοποιηθεί για την επισήμανση ενός πόρου που δεν είναι ανακτήσιμο από ορισμένους ή όλους τους παραλήπτες ενός μηνύματος. Ένα μεμονωμένο μήνυμα επιτρέπεται να έχει μία μόνο κεφαλίδα Content-Location. Παράδειγμα πολυμερούς/σχετικής δομής που περιέχει μέρη σώματος με ετικέτες Content-Location και 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--
URI συγκεντρωτικών στοιχείων MHTML
Το URI του συγκεντρωτικού MHTML είναι διαφορετικό από αυτό του ριζικού URI του. Το πεδίο κεφαλίδας Περιεχόμενο-Τοποθεσία θα πρέπει να ισχύει για ολόκληρο το άθροισμα, εάν χρησιμοποιείται στην επικεφαλίδα μιας επικεφαλίδας πολλαπλών τμημάτων/σχετικής. Ομοίως, το σύνολο των πόρων που ανακτώνται μπορεί να διαφέρει από το σύνολο των πόρων που ανακτώνται χρησιμοποιώντας τις Τοποθεσίες Περιεχομένου των τμημάτων του, όταν το URI που αναφέρεται στο άθροισμα MHTML χρησιμοποιείται για την ανάκτηση αυτού του αθροίσματος. Για παράδειγμα, η ανάκτηση ενός συγκεντρωτικού MHTML μπορεί να επιστρέψει μια παλιά έκδοση, ενώ η ανάκτηση του root URI και των εν σειρά συνδεδεμένων αντικειμένων του μπορεί να επιστρέψει μια νεότερη έκδοση.