Ga naar inhoud

MIME-typen

Een MIME-type — de waarde van de Content-Type-header — is hoe een server zegt wat een bestand is. Niets van de bestandsnaam bereikt de browser, dus de extensie is een hint voor jou en het type is feit voor de cliënt. Fout en een stylesheet wordt genegeerd, een lettertype laadt niet, of PDF downloadt in plaats van opent.

Deze pagina vermeldt de extensie en het type dat het eigen opzoekhulpmiddel van deze site ervoor retourneert, dus de twee kunnen nooit divergeren. Waar meerdere extensies één type delen — jpg, jpeg en jpe, of yaml en yml — elk staat op eigen regel, omdat je degene opzoekt die je hebt.

Twee regels verklaren meeste verrassingen hieronder. Een type dat begint met application/vnd. is registratie van een leverancier in plaats van open standaard, daarom zijn Office-typen zo lang. En een type dat server niet kent wordt best verzonden als application/octet-stream, wat browser zegt download in plaats van gissen.

Web en tekst

21

text/* is familie die browser toont in plaats van downloadt, en enige waar charset-parameter telt — text/html; charset=utf-8.

ExtensieMIME-typeWat het is
.htmltext/htmlHTML-document
.htmtext/htmlHTML-document, korte extensie
.shtmltext/htmlHTML met server-side includes
.xhtmlapplication/xhtml+xmlXHTML-document
.csstext/cssOpmaakblad
.csvtext/csvKommagescheiden waarden
.txttext/plainPlatte tekst
.mdtext/markdownMarkdown-bron
.icstext/calendarAgenda-gebeurtenis
.xmlapplication/xmlXML-document
.jstext/javascriptJavaScript
.mjstext/javascriptJavaScript ES-module
.jsonapplication/jsonJSON-gegevens
.jsonldapplication/ld+jsonJSON-LD-gestructureerde gegevens
.webmanifestapplication/manifest+jsonWeb-appmanifest
.yamlapplication/yamlYAML-document
.ymlapplication/yamlYAML, korte extensie
.tomlapplication/tomlTOML-configuratie
.sqlapplication/sqlSQL-script
.shapplication/x-shShell-script
.wasmapplication/wasmWebAssembly-module

Documenten

12

Office-typen zijn lang omdat zij leverancier, standaard en deel coderen — vnd. betekent leverancierregistratie geen open format.

ExtensieMIME-typeWat het is
.pdfapplication/pdfPDF-document
.rtfapplication/rtfOpgemaakte tekst
.docapplication/mswordWord-document, legacy binair
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentWord-document
.xlsapplication/vnd.ms-excelExcel-werkmap, legacy binair
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetExcel-werkmap
.pptapplication/vnd.ms-powerpointPowerPoint-presentatie, legacy binair
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentationPowerPoint-presentatie
.odtapplication/vnd.oasis.opendocument.textOpenDocument-tekst
.odsapplication/vnd.oasis.opendocument.spreadsheetOpenDocument-werkblad
.odpapplication/vnd.oasis.opendocument.presentationOpenDocument-presentatie
.epubapplication/epub+zipEPUB e-boek

Afbeeldingen

14

Elk afbeeldingstype is snuffelbaar uit eerste bytes, dus browser rendert er meestal correct ondanks fout serverlabel. SVG is uitzondering die je nooit verkeerd moet labelen — het is document dat script kan bevatten.

ExtensieMIME-typeWat het is
.pngimage/pngPNG-afbeelding
.jpgimage/jpegJPEG-afbeelding
.jpegimage/jpegJPEG-afbeelding, lange extensie
.jpeimage/jpegJPEG-afbeelding, zeldzame extensie
.gifimage/gifGIF-afbeelding
.webpimage/webpWebP-afbeelding
.avifimage/avifAVIF-afbeelding
.svgimage/svg+xmlSVG-vectorafbeelding
.bmpimage/bmpBitmapafbeelding
.icoimage/vnd.microsoft.iconPictogrambestand
.tifimage/tiffTIFF-afbeelding
.tiffimage/tiffTIFF-afbeelding, lange extensie
.heicimage/heicHEIC-afbeelding
.heifimage/heifHEIF-afbeelding

Audio

11

Container en codec zijn verschillende vragen. audio/ogg zegt hoe bestand ingepakt is; ererin kan Vorbis, Opus of FLAC zijn.

ExtensieMIME-typeWat het is
.mp3audio/mpegMP3-audio
.wavaudio/wavWAV-audio
.oggaudio/oggOgg-audio
.ogaaudio/oggOgg-audio, expliciete extensie
.opusaudio/opusOpus-audio
.m4aaudio/mp4AAC-audio in MP4-container
.flacaudio/flacFLAC lossless-audio
.webaaudio/webmWebM-audio
.aacaudio/aacRuwe AAC-audio
.midaudio/midiMIDI-reeks
.midiaudio/midiMIDI, lange extensie

Video

9

Video streamen vereist meer dan juist type — server moet ook bereikverzoeken beantwoorden, anders downloadt browser hele bestand voor afspelen.

ExtensieMIME-typeWat het is
.mp4video/mp4MP4-video
.m4vvideo/mp4MP4-video, Apple-extensie
.webmvideo/webmWebM-video
.ogvvideo/oggOgg-video
.movvideo/quicktimeQuickTime-video
.avivideo/x-msvideoAVI-video
.mkvvideo/x-matroskaMatroska-video
.wmvvideo/x-ms-wmvWindows Media-video
.3gpvideo/3gpp3GPP mobiele video

Lettertypen

5

font/* familie werd laat geregistreerd; oudere gereedschappen sturen nog application/font-woff en application/x-font-ttf, browsers accepteren maar nieuw niet voor schrijven.

ExtensieMIME-typeWat het is
.wofffont/woffWOFF-weblettertype
.woff2font/woff2WOFF2-weblettertype
.ttffont/ttfTrueType-lettertype
.otffont/otfOpenType-lettertype
.eotapplication/vnd.ms-fontobjectEmbedded OpenType, Internet Explorer alleen

Archieven en binaire bestanden

12

application/octet-stream is eerlijk antwoord waar niets beters bekend, en ook wat download forceert in plaats van render.

ExtensieMIME-typeWat het is
.zipapplication/zipZIP-archief
.gzapplication/gzipGzip-archief
.tarapplication/x-tarTar-archief
.7zapplication/x-7z-compressed7-Zip-archief
.rarapplication/vnd.rarRAR-archief
.bz2application/x-bzip2Bzip2-archief
.isoapplication/x-iso9660-imageSchijfafbeelding
.binapplication/octet-streamOnbekende binaire gegevens
.exeapplication/x-msdownloadWindows-uitvoerbaar bestand
.apkapplication/vnd.android.package-archiveAndroid-pakket
.debapplication/vnd.debian.binary-packageDebian-pakket
.swfapplication/x-shockwave-flashFlash-film, lang verouderd

FAQ

Wat gebeurt als MIME-type fout is?
Hangt af van type. Browsers weigeren opzettelijk stylesheet die niet als text/css aankomt en modulescript dat niet als JavaScript aankomt. Afbeeldingen snuffen uit eerste bytes en overleven meestal fout label. Alles als text/plain geserveerd toont in plaats van downloaden.
Is text/javascript of application/javascript juist?
text/javascript. Het was historische vorm, application/javascript verving het, huidige standaard keerde terug naar text/javascript en markeert ander als verouderd. Elke browser accepteert beide, dus dit telt alleen voor wat je in nieuwe configuratie schrijft.
Waarom is Word .docx-type zo lang?
Omdat het hele pad naar format codeert: leverancierregistratie (vnd.), OOXML-familie en welk familiedocument het is. Lengte is prijs voor registeringang die met niemand anders kan botsen.
Moet ik charset op elk type zetten?
Alleen op teksttypen, en praktisch alleen waar standaard fout zou zijn. text/html; charset=utf-8 loont uitdrukkelijk; image/png; charset=utf-8 heeft geen zin. JSON is al UTF-8 gedefinieerd, dus application/json neemt geen charset.
Hoe zoekmachineoptimalisering ik er snel een op?
Het MIME-type-opzoekhulpmiddel op deze site converteert lijst extensies naar typen, of typen terug naar extensies, en kan uitvoer uitstoten als nginx of Apache-configuratieblok.