Pokud jste uživatel Linuxu, jehož intuice je silně spojena s webovou technologií, pak koncept MIME typy by měly být otištěny ve vaší DNA .
MIME typy pomáhají identifikovat formáty souborů a formátovaný obsah během jejich přenosu přes internet nebo jakoukoli jinou uživatelem definovanou síť.
Zatímco ve webovém prohlížeči obdržíte soubor odeslaný webovým serverem přes HTTP, než webový prohlížeč vybere vhodnou metodu pro zobrazení souboru, webový prohlížeč nejprve zkontroluje MIME typů k určení typu souboru, který se chystá zpracovat.
Konceptualizace typů MIME
MIME nebo Typy víceúčelových rozšíření internetové pošty , pomáhá uživatelům internetu standardizovat klasifikaci typů souborů. Abychom porozuměli typům MIME, podívejme se na běžný příklad typu MIME, jako je tento:
text/html
S odkazem na výše uvedený MIME Příklad typu, můžeme si všimnout, že má dvě části (typ a podtyp ), což je klíč MIME Type atribut. V tomto případě text je typ a html podtyp .
Další běžné typy MIME příklady zahrnují následující:
application/pdf application/zip application/xml text/xml text/csv text/plain multipart/form-data
Všimněte si, že oba typ a podtyp prvky typu MIME rozlišují velká a malá písmena. Správně předpokládáte, že podtyp část typu MIME jsou většinou formáty médií jako pdf, xml, zip a csv. Podtyp MIME Type však může také obsahovat příponu nebo předponu stromu podle následujícího standardního formátu MIME Type:
type "/" [tree "."] subtype ["+" suffix]
Dokonalý příklad typu MIME s odkazem na výše uvedený úplný formát typu MIME je následující:
application/vnd.api+json
Výše uvedený příklad je JSON API formát typu MIME specifického pro API, kde typem je aplikace, podtypem je API, předpona dodavatele je vnd. a přípona je +json.
Určení typu MIME souboru v systému Linux
Zatímco Typy MIME standardizovali pojmenování typů souborů a jejich přidružených formátů, tato funkce není uložena ani automatizována v souborovém systému Linux.
Abychom správně určili typ MIME cílového souboru v systému Linux, musíme potvrdit příponu souboru a obsah .
- Typy MIME podle přípony souboru – Pokud přípona souboru chybí nebo je nesprávná, jako v případě, kdy je soubor zip přejmenován tak, aby měl příponu souboru obrázku JPG, pak určování typu MIME podle přípony souboru postrádá smysl.
- Typy MIME podle obsahu souboru – Specifické vlastnosti obsahu souboru, jako je FF D9 a FF D8 hex podpisy v souborech obrázků JPG pomáhají určit související typ MIME. Avšak dodatečné I/O úsilí použité v tomto přístupu jej činí pomalejším, ale stále spolehlivým.
Najděte typy MIME souborů pomocí příkazu xdg-mime
Od xdg-utils balíček hostí xdg-mime by měl být dostupný téměř ve všech distribucích operačního systému Linux. Typ MIME určuje pouze podle přípony souboru.
Jeho referenční syntaxe je následující:
$ xdg-mime query filetype TARGETED_INPUT_FILE
Pokusme se určit typy MIME následujících souborů:
$ xdg-mime query filetype mypic.jpeg $ xdg-mime query filetype sample_file.txt
Můžeme také odstranit příponu souboru obrázku a přesto získat jeho typ MIME pomocí tohoto příkazu:
$ mv mypic.jpeg mypic $ xdg-mime query filetype mypic
Tisk souborů MIME typů pomocí příkazu file
příkaz soubor je výchozí instalace téměř ve všech distribucích operačního systému Linux. Určuje typ MIME souboru jak podle přípony souboru, tak podle obsahu souboru.
Jeho syntaxe odkazu/použití je následující:
$ file --mime-type TARGETED_INPUT_FILE
Můžeme jej implementovat do dvou uvedených typů souborů následovně:
$ file --mime-type mypic.jpeg $ file --mime-type sample_file.txt
Odeberte také JPEG příponu souboru obrázku a sledovat výstup tohoto příkazu:
$ mv mypic.jpeg mypic $ file --mime-type mypic
xdg-mime vs soubor Příkazy Výkon Přesnost
Pokud změníme příponu souboru náhodného textového souboru na formát souboru zip a zkontrolujeme typ MIME tohoto souboru pomocí xdg-mime a soubor příkazy, soubor příkaz bude schopen správně určit typ MIME na základě obsahu souboru.
$ mv output.txt output.zip $ file --mime-type output.zip $ xdg-mime query filetype output.zip
Nyní můžeme určit typ MIME souboru na základě přípony souboru, obsahu souboru nebo obojího v systému Linux.