Přeskočit na obsah

MIME typy

MIME typ — hodnota hlavičky Content-Type — je jak server říká, co je soubor. Na prohlížeč se nedostane nic z názvu souboru, takže přípona je hádanka pro vás a typ je fakt pro klienta. Chyba = stylesheet se ignoruje, font se nenačte nebo PDF se stahuje místo otevření.

Tato stránka uvádí příponu a typ, který na ni vrací vlastní vyhledávací nástroj, takže se obě vždy shodují. Kde si jeden typ dělí více přípon — jpg, jpeg a jpe nebo yaml a yml — každá má svůj řádek, protože hledáte tu, kterou máte.

Dvě pravidla vysvětlují většinu překvapení níže. Typ začínající application/vnd. je registrace prodejce, ne otevřený standard — proto jsou typy Office tak dlouhé. A typ, který server nezná, se nejlépe pošle jako application/octet-stream, který říká prohlížeči, aby stáhnul spíše než uhodl.

Web a text

21

text/* je rodina, kterou prohlížeč zobrazí místo stahování, a jediná, kde má smysl parametr charset — text/html; charset=utf-8.

PříponaMIME typCo to je
.htmltext/htmlHTML dokument
.htmtext/htmlHTML dokument, krátká přípona
.shtmltext/htmlHTML se server-side includes
.xhtmlapplication/xhtml+xmlXHTML dokument
.csstext/cssStylesheet
.csvtext/csvHodnoty oddělené čárkou
.txttext/plainProstý text
.mdtext/markdownZdroj Markdown
.icstext/calendarKalendářní akce
.xmlapplication/xmlXML dokument
.jstext/javascriptJavaScript
.mjstext/javascriptJavaScript ES modul
.jsonapplication/jsonData JSON
.jsonldapplication/ld+jsonStrukturovaná data JSON-LD
.webmanifestapplication/manifest+jsonManifest webové aplikace
.yamlapplication/yamlDokument YAML
.ymlapplication/yamlYAML, krátká přípona
.tomlapplication/tomlKonfigurace TOML
.sqlapplication/sqlSkript SQL
.shapplication/x-shSkript shellu
.wasmapplication/wasmModul WebAssembly

Dokumenty

12

Typy Office jsou dlouhé, protože kódují prodejce, standard a část — vnd. znamená registraci prodejce, ne otevřený formát.

PříponaMIME typCo to je
.pdfapplication/pdfPDF dokument
.rtfapplication/rtfBohatý text
.docapplication/mswordWord dokument, starší binární
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentDokument Word
.xlsapplication/vnd.ms-excelSešit Excel, starší binární
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetSešit Excel
.pptapplication/vnd.ms-powerpointPrezentace PowerPoint, starší binární
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentationPrezentace PowerPoint
.odtapplication/vnd.oasis.opendocument.textText OpenDocument
.odsapplication/vnd.oasis.opendocument.spreadsheetTabulka OpenDocument
.odpapplication/vnd.oasis.opendocument.presentationPrezentace OpenDocument
.epubapplication/epub+zipE-kniha EPUB

Obrázky

14

Každý typ obrázku se dá poznat z prvních bytů, takže prohlížeč jej obvykle vykreslí správně, i když je značka špatná. SVG je výjimka, kterou nikdy neoznačuj špatně — je to dokument, který může obsahovat skript.

PříponaMIME typCo to je
.pngimage/pngObrázek PNG
.jpgimage/jpegObrázek JPEG
.jpegimage/jpegObrázek JPEG, dlouhá přípona
.jpeimage/jpegObrázek JPEG, vzácná přípona
.gifimage/gifObrázek GIF
.webpimage/webpObrázek WebP
.avifimage/avifObrázek AVIF
.svgimage/svg+xmlVektorový obrázek SVG
.bmpimage/bmpBitmapový obrázek
.icoimage/vnd.microsoft.iconSoubor ikony
.tifimage/tiffObrázek TIFF
.tiffimage/tiffObrázek TIFF, dlouhá přípona
.heicimage/heicObrázek HEIC
.heifimage/heifObrázek HEIF

Zvuk

11

Kontejner a kodek jsou dvě různé věci. audio/ogg říká, jak je soubor zabalen; uvnitř může být Vorbis, Opus nebo FLAC.

PříponaMIME typCo to je
.mp3audio/mpegZvuk MP3
.wavaudio/wavZvuk WAV
.oggaudio/oggZvuk Ogg
.ogaaudio/oggZvuk Ogg, explicitní přípona
.opusaudio/opusZvuk Opus
.m4aaudio/mp4Zvuk AAC v kontejneru MP4
.flacaudio/flacBezeztrátový zvuk FLAC
.webaaudio/webmZvuk WebM
.aacaudio/aacSurový zvuk AAC
.midaudio/midiSekvence MIDI
.midiaudio/midiMIDI, dlouhá přípona

Video

9

Streamování videa potřebuje víc než správný typ — server také musí odpovídat na požadavky rozsahu, nebo prohlížeč stáhne celý soubor než začne přehrávat.

PříponaMIME typCo to je
.mp4video/mp4Video MP4
.m4vvideo/mp4Video MP4, přípona Apple
.webmvideo/webmVideo WebM
.ogvvideo/oggVideo Ogg
.movvideo/quicktimeVideo QuickTime
.avivideo/x-msvideoVideo AVI
.mkvvideo/x-matroskaVideo Matroska
.wmvvideo/x-ms-wmvVideo Windows Media
.3gpvideo/3gppMobilní video 3GPP

Fonty

5

Rodina font/* byla zaregistrována později; starší nástroje stále posílají application/font-woff a application/x-font-ttf, které prohlížeče přijímají, ale neměly by se pro nové věci psát.

PříponaMIME typCo to je
.wofffont/woffWebový font WOFF
.woff2font/woff2Webový font WOFF2
.ttffont/ttfFont TrueType
.otffont/otfFont OpenType
.eotapplication/vnd.ms-fontobjectEmbedded OpenType, pouze Internet Explorer

Archivy a binárky

12

application/octet-stream je upřímná odpověď, když se nic lepšího neví, a je to také to, co vynucuje stahování místo vykreslování.

PříponaMIME typCo to je
.zipapplication/zipArchiv ZIP
.gzapplication/gzipArchiv Gzip
.tarapplication/x-tarArchiv Tar
.7zapplication/x-7z-compressedArchiv 7-Zip
.rarapplication/vnd.rarArchiv RAR
.bz2application/x-bzip2Archiv Bzip2
.isoapplication/x-iso9660-imageObraz disku
.binapplication/octet-streamNeznámá binární data
.exeapplication/x-msdownloadSpustitelný soubor Windows
.apkapplication/vnd.android.package-archiveBalíček Android
.debapplication/vnd.debian.binary-packageBalíček Debian
.swfapplication/x-shockwave-flashFlash film, dávno zastaralý

Časté dotazy

Co se stane, když je MIME typ špatný?
Záleží na typu. Prohlížeče účelně odmítají stylesheet, který nepřijde jako text/css, a modulový skript, který nepřijde jako JavaScript typ. Obrázky se snímají z jejich prvních bytů a chybný štítek obvykle přežijí. A cokoli podané jako text/plain se zobrazí spíše než stahuje.
Je správné text/javascript nebo application/javascript?
text/javascript. Byl to historický tvar, application/javascript jej nahradil, a současný standard se vrátil k text/javascript a označuje jiný za zastaralý. Každý prohlížeč přijme oba, takže to záleží jen na tom, co píšete v nové konfiguraci.
Proč je Word .docx typ tak dlouhý?
Protože kóduje celou cestu k formátu: registraci prodejce (vnd.), rodinu OOXML a který dokument rodiny to je. Délka je cena za záznam registru, který si nemůže srazit se nikým jiným.
Musím mít charset u každého typu?
Jen u textových typů a v praxi jen tam, kde by výchozí was špatný. text/html; charset=utf-8 stojí za explicitní; image/png; charset=utf-8 je nesmyslné. JSON je již definován jako UTF-8, takže application/json charset nebere.
Jak jej rychle vyhledám?
Nástroj pro vyhledání MIME typu na této stránce převádí seznam přípon na typy nebo typy zpět na přípony a může výsledek vypsat jako blok konfigurace nginx nebo Apache.