Sări la conținut

Tipuri MIME

Un tip MIME — valoarea antetului Content-Type — este modul în care un server spune ce este un fișier. Nimic despre denumirea fișierului ajunge la browser, deci extensia este o indicație pentru tine și tipul este faptul pentru client. Greșit și o foaie de stil este ignorată, o fontă nu se încarcă, sau un PDF se descarcă în loc să se deschidă.

Această pagină listează extensia și tipul pe care instrumentul de corespondență al acestui site îl returnează pentru aceasta, deci cele două nu pot diverge niciodată. Unde mai mulți subordonați împart un tip — jpg, jpeg și jpe, sau yaml și yml — fiecare este listat pe propria linie, pentru că cauți pe cel pe care îl ai.

Două reguli explică majoritatea surprizelor de mai jos. Un tip care începe cu application/vnd. este o înregistrare de vânzător mai degrabă decât un standard deschis, motiv pentru care tipurile Office sunt atât de lungi. Și un tip pe care serverul nu îl cunoaște este cel mai bine trimis ca application/octet-stream, care spune browserului să descarce mai degrabă decât să ghicească.

Web și text

21

text/* este familia pe care browserul o va afișa mai degrabă decât descărca, și singura unde parametrul charset contează — text/html; charset=utf-8.

ExtensieTip MIMECe este
.htmltext/htmlDocument HTML
.htmtext/htmlDocument HTML, extensie scurtă
.shtmltext/htmlHTML cu includere server-side
.xhtmlapplication/xhtml+xmlDocument XHTML
.csstext/cssFoaie de stil
.csvtext/csvValori separate prin virgulă
.txttext/plainText simplu
.mdtext/markdownSursă Markdown
.icstext/calendarEveniment calendar
.xmlapplication/xmlDocument XML
.jstext/javascriptJavaScript
.mjstext/javascriptModul ES JavaScript
.jsonapplication/jsonDate JSON
.jsonldapplication/ld+jsonDate structurate JSON-LD
.webmanifestapplication/manifest+jsonManifest aplicație web
.yamlapplication/yamlDocument YAML
.ymlapplication/yamlYAML, extensie scurtă
.tomlapplication/tomlConfigurație TOML
.sqlapplication/sqlScript SQL
.shapplication/x-shScript shell
.wasmapplication/wasmModul WebAssembly

Documente

12

Tipurile Office sunt lungi pentru că codifică vânzătorul, standardul și partea — vnd. înseamnă o înregistrare de vânzător mai degrabă decât un format deschis.

ExtensieTip MIMECe este
.pdfapplication/pdfDocument PDF
.rtfapplication/rtfText formatat
.docapplication/mswordDocument Word, binar moștenit
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentDocument Word
.xlsapplication/vnd.ms-excelRegistru Excel, binar moștenit
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetRegistru Excel
.pptapplication/vnd.ms-powerpointPrezentare PowerPoint, binar moștenit
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentationPrezentare PowerPoint
.odtapplication/vnd.oasis.opendocument.textText OpenDocument
.odsapplication/vnd.oasis.opendocument.spreadsheetTabel OpenDocument
.odpapplication/vnd.oasis.opendocument.presentationPrezentare OpenDocument
.epubapplication/epub+zipCarte electronică EPUB

Imagini

14

Fiecare tip de imagine poate fi recunoscut din primii săi octeți, deci browserul va reda de obicei unu corect chiar și cu o etichetă greșită din server. SVG este excepția pe care nu ar trebui să o etichetezi greșit niciodată — este un document care poate purta script.

ExtensieTip MIMECe este
.pngimage/pngImagine PNG
.jpgimage/jpegImagine JPEG
.jpegimage/jpegImagine JPEG, extensie lungă
.jpeimage/jpegImagine JPEG, extensie rară
.gifimage/gifImagine GIF
.webpimage/webpImagine WebP
.avifimage/avifImagine AVIF
.svgimage/svg+xmlImagine vectorială SVG
.bmpimage/bmpImagine Bitmap
.icoimage/vnd.microsoft.iconFișier pictogramă
.tifimage/tiffImagine TIFF
.tiffimage/tiffImagine TIFF, extensie lungă
.heicimage/heicImagine HEIC
.heifimage/heifImagine HEIF

Audio

11

Recipientul și codecul sunt două întrebări diferite. audio/ogg spune cum este înfășurat fișierul; ceea ce este în interior poate fi Vorbis, Opus sau FLAC.

ExtensieTip MIMECe este
.mp3audio/mpegAudio MP3
.wavaudio/wavAudio WAV
.oggaudio/oggAudio Ogg
.ogaaudio/oggAudio Ogg, extensie explicită
.opusaudio/opusAudio Opus
.m4aaudio/mp4Audio AAC într-un recipient MP4
.flacaudio/flacAudio fără pierderi FLAC
.webaaudio/webmAudio WebM
.aacaudio/aacAudio AAC brut
.midaudio/midiSecvență MIDI
.midiaudio/midiMIDI, extensie lungă

Video

9

Streaming un video necesită mai mult decât tipul potrivit — serverul trebuie să răspundă la cererile de interval, altfel browserul descarcă fișierul complet înainte să se redea.

ExtensieTip MIMECe este
.mp4video/mp4Video MP4
.m4vvideo/mp4Video MP4, extensie 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/3gppVideo mobil 3GPP

Fonturi

5

Familia font/* a fost înregistrată mai târziu; instrumentele mai vechi emit în continuare application/font-woff și application/x-font-ttf, pe care browserele le acceptă dar nu ar trebui scrise pentru nimic nou.

ExtensieTip MIMECe este
.wofffont/woffFontă web WOFF
.woff2font/woff2Fontă web WOFF2
.ttffont/ttfFontă TrueType
.otffont/otfFontă OpenType
.eotapplication/vnd.ms-fontobjectEmbedded OpenType, numai Internet Explorer

Arhive și binare

12

application/octet-stream este răspunsul onest atunci când nimic mai bun este cunoscut, și este, de asemenea, ceea ce forțează o descărcare în loc de o redare.

ExtensieTip MIMECe este
.zipapplication/zipArhivă ZIP
.gzapplication/gzipArhivă gzip
.tarapplication/x-tarArhivă tar
.7zapplication/x-7z-compressedArhivă 7-Zip
.rarapplication/vnd.rarArhivă RAR
.bz2application/x-bzip2Arhivă bzip2
.isoapplication/x-iso9660-imageImagine disc
.binapplication/octet-streamDate binare necunoscute
.exeapplication/x-msdownloadExecutabil Windows
.apkapplication/vnd.android.package-archivePachet Android
.debapplication/vnd.debian.binary-packagePachet Debian
.swfapplication/x-shockwave-flashFilm Flash, mult învechit

FAQ

Ce se întâmplă dacă tipul MIME este greșit?
Depinde de tip. Browserele refuză în mod deliberat o foaie de stil care nu sosește ca text/css și un script de modul care nu sosește ca un tip JavaScript, ambele cu intenție. Imaginile sunt recunoscute din primii lor octeți și de obicei supraviețuiesc unei etichete greșite. Și orice servit ca text/plain este arătat mai degrabă decât descărcat.
Este text/javascript sau application/javascript corect?
text/javascript. Era forma istorică, application/javascript a înlocuit-o, și standardul curent s-a întors la text/javascript și marchează celălalt ca învechit. Orice browser acceptă amândoi, deci aceasta contează doar pentru ceea ce scrii în configurația nouă.
De ce este tipul .docx Word atât de lung?
Pentru că codifică întreaga cale la format: o înregistrare de vânzător (vnd.), familia OOXML și care dintre documentele acelei familii este. Lungimea este prețul unei înregistrări în registru care nu poate ciocni cu oricine altul.
Trebuie să pun charset la fiecare tip?
Doar pe tipuri text, și în practică doar unde setarea implicită ar fi greșită. text/html; charset=utf-8 merită să fie explicit; image/png; charset=utf-8 nu are sens. JSON este definit ca UTF-8 deja, deci application/json nu ia charset.
Cum caut unu rapid?
Instrumentul de corespondență tip MIME de pe acest site convertește o listă de extensii la tipuri, sau tipuri înapoi la extensii, și poate emite rezultatul ca un bloc de configurație nginx sau Apache.