Wenn Sie ein Linux-Benutzer sind, dessen Intuition stark mit der Webtechnologie verbunden ist, dann ist das Konzept von MIME Typen sollten in Ihre DNA eingeprägt sein .
MIME Typen helfen bei der Identifizierung von Dateiformaten und formatierten Inhalten während ihrer Übertragung über das Internet oder andere benutzerdefinierte Netzwerke.
Wenn Sie in einem Webbrowser eine vom Webserver gesendete Datei über HTTP erhalten, bevor der Webbrowser eine geeignete Methode zum Anzeigen der Datei auswählt, konsultiert der Webbrowser zuerst die MIME -Typen, um den Dateityp zu bestimmen, der verarbeitet werden soll.
Konzeption von MIME-Typen
MIME oder Mehrzweck-Internet-Mail-Erweiterungstypen , hilft Internetbenutzern, die Klassifizierung von Dateitypen zu standardisieren. Um MIME-Typen zu verstehen, sehen wir uns ein allgemeines MIME-Typ-Beispiel wie das folgende an:
text/html
In Bezug auf das obige MIME Geben Sie beispielsweise ein, wir können feststellen, dass es zwei Teile hat (type und Subtyp ), was ein wichtiger MIME-Typ ist Attribut. In diesem Fall der Text ist der Typ und html der Untertyp .
Andere gängige MIME-Typen Beispiele sind die folgenden:
application/pdf application/zip application/xml text/xml text/csv text/plain multipart/form-data
Beachten Sie, dass sowohl der Typ und Subtyp Elemente eines MIME-Typs unterscheiden zwischen Groß- und Kleinschreibung. Sie gehen zu Recht davon aus, dass der Untertyp Teil eines MIME-Typs sind meist Medienformate wie pdf, xml, zip und csv. Der Untertyp des MIME-Typs kann jedoch auch ein Baumsuffix oder -präfix gemäß dem folgenden Standardformat des MIME-Typs enthalten:
type "/" [tree "."] subtype ["+" suffix]
Ein perfektes MIME-Type-Beispiel in Bezug auf das obige vollständige MIME-Type-Format lautet wie folgt:
application/vnd.api+json
Das obige Beispiel ist die JSON-API Format eines API-spezifischen MIME-Typs, wobei der Typ eine Anwendung ist, der Subtyp API ist, das Herstellerpräfix vnd. ist und das Suffix +json.
istErmitteln des MIME-Typs einer Datei unter Linux
Während MIME-Typen die Benennung von Dateitypen und den zugehörigen Formaten standardisiert haben, ist diese Funktionalität im Linux-Dateisystem weder gespeichert noch automatisiert.
Um den MIME-Typ einer Zieldatei unter Linux korrekt zu bestimmen, müssen wir die Erweiterung der Datei bestätigen und Inhalt .
- MIME-Typen nach Dateierweiterung – Wenn die Dateierweiterung fehlt oder falsch ist, wie in dem Fall, in dem eine ZIP-Datei in eine JPG-Bilddateierweiterung umbenannt wird, ist die Bestimmung ihres MIME-Typs anhand der Dateierweiterung bedeutungslos.
- MIME-Typen nach Dateiinhalt – Spezifische Eigenschaften des Dateiinhalts wie FF D9 und FF D8 Hex-Signaturen in JPG-Bilddateien helfen bei der Bestimmung des zugehörigen MIME-Typs. Der zusätzliche E/A-Aufwand bei diesem Ansatz macht ihn jedoch langsamer, aber immer noch zuverlässig.
Datei-MIME-Typen mit dem xdg-mime-Befehl suchen
Da die xdg-utils Paket hostet die xdg-mime Befehl, sollte es in fast allen Linux-Betriebssystemdistributionen verfügbar sein. Es bestimmt den MIME-Typ nur anhand der Dateierweiterung.
Die Referenzsyntax lautet wie folgt:
$ xdg-mime query filetype TARGETED_INPUT_FILE
Lassen Sie uns versuchen, die MIME-Typen der folgenden Dateien zu bestimmen:
$ xdg-mime query filetype mypic.jpeg $ xdg-mime query filetype sample_file.txt
Wir können auch die Erweiterung der Bilddatei entfernen und dennoch ihren MIME-Typ über diesen Befehl abrufen:
$ mv mypic.jpeg mypic $ xdg-mime query filetype mypic
Datei-MIME-Typen mit Dateibefehl drucken
Der Dateibefehl ist eine Standardinstallation in fast allen Linux-Betriebssystemdistributionen. Es bestimmt den MIME-Typ einer Datei sowohl anhand der Dateierweiterung als auch anhand des Dateiinhalts.
Seine Referenz-/Verwendungssyntax lautet wie folgt:
$ file --mime-type TARGETED_INPUT_FILE
Wir können es in den beiden gezeigten Dateitypen wie folgt implementieren:
$ file --mime-type mypic.jpeg $ file --mime-type sample_file.txt
Lassen Sie uns auch das JPEG entfernen image-Dateierweiterung und überwachen Sie die Ausgabe dieses Befehls:
$ mv mypic.jpeg mypic $ file --mime-type mypic
Leistungsgenauigkeit von xdg-mime vs. Dateibefehlen
Wenn wir die Dateierweiterung einer zufälligen Textdatei in ein Zip-Dateiformat ändern und den MIME-Typ dieser Datei überprüfen, indem wir sowohl xdg-mime und Datei Befehle, die Datei Befehl den MIME-Typ anhand des Dateiinhalts korrekt bestimmen kann.
$ mv output.txt output.zip $ file --mime-type output.zip $ xdg-mime query filetype output.zip
Wir können jetzt den MIME-Typ bestimmen einer Datei basierend auf der Dateierweiterung, dem Dateiinhalt oder beidem in Linux.