Typy MIME
Typ MIME — wartość nagłówka Content-Type — to jak serwer mówi co plik jest. Nic z nazwy pliku nie dotrze do przeglądarki, więc rozszerzenie jest wskazówką dla Ciebie a typ jest faktą dla klienta. Pomylenie powoduje że arkusz stylów ignorowany, czcionka się nie ładuje, albo PDF pobiera się zamiast otworzyć.
Ta strona wymienia rozszerzenie i typ który jej własne narzędzie lookup zwraca, więc te dwie rzeczy nigdy się nie mogą rozjechać. Gdzie kilka rozszerzeń dzieli jeden typ — jpg, jpeg i jpe, albo yaml i yml — każdy jest wymieniony w swoim wierszu bo szukasz tego który masz.
Dwie reguły wyjaśniają większość niespodzianek poniżej. Typ zaczynający się na application/vnd. to rejestracja producenta nie otwarty standard — dlatego typy Office są takie długie. I typ którego serwer nie zna najlepiej wysyła się jako application/octet-stream, co mówi przeglądarce aby pobrała zamiast zgadywać.
Sieć i tekst
21text/* to rodzina którą przeglądarka wyświetli zamiast pobierać, i jedyna gdzie parametr charset ma znaczenie — text/html; charset=utf-8.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| .html | text/html | Dokument HTML |
| .htm | text/html | Dokument HTML, krótkie rozszerzenie |
| .shtml | text/html | HTML z server-side includes |
| .xhtml | application/xhtml+xml | Dokument XHTML |
| .css | text/css | Arkusz stylów |
| .csv | text/csv | Wartości oddzielone przecinkami |
| .txt | text/plain | Zwykły tekst |
| .md | text/markdown | Źródło Markdown |
| .ics | text/calendar | Zdarzenie kalendarza |
| .xml | application/xml | Dokument XML |
| .js | text/javascript | JavaScript |
| .mjs | text/javascript | Moduł JavaScript ES |
| .json | application/json | Dane JSON |
| .jsonld | application/ld+json | Strukturalne dane JSON-LD |
| .webmanifest | application/manifest+json | Manifest aplikacji sieciowej |
| .yaml | application/yaml | Dokument YAML |
| .yml | application/yaml | YAML, krótkie rozszerzenie |
| .toml | application/toml | Konfiguracja TOML |
| .sql | application/sql | Skrypt SQL |
| .sh | application/x-sh | Skrypt powłoki |
| .wasm | application/wasm | Moduł WebAssembly |
Dokumenty
12Typy Office są długie bo kodują producenta, standard i część — vnd. oznacza rejestrację producenta nie otwarty format.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| application/pdf | Dokument PDF | |
| .rtf | application/rtf | Tekst sformatowany |
| .doc | application/msword | Dokument Word, stary binarny |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Dokument Word |
| .xls | application/vnd.ms-excel | Skoroszyt Excel, stary binarny |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Skoroszyt Excel |
| .ppt | application/vnd.ms-powerpoint | Prezentacja PowerPoint, stara binarna |
| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation | Prezentacja PowerPoint |
| .odt | application/vnd.oasis.opendocument.text | Tekst OpenDocument |
| .ods | application/vnd.oasis.opendocument.spreadsheet | Arkusz OpenDocument |
| .odp | application/vnd.oasis.opendocument.presentation | Prezentacja OpenDocument |
| .epub | application/epub+zip | Książka elektroniczna EPUB |
Obrazy
14Każdy typ obrazu sniff się z pierwszych bajtów, więc przeglądarka zwykle go renderuje poprawnie nawet przy błędnym napisie z serwera. Wyjątek który nigdy nie powinieneś błędnie oznaczyć to SVG — to dokument który może niosą skrypt.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| .png | image/png | Obraz PNG |
| .jpg | image/jpeg | Obraz JPEG |
| .jpeg | image/jpeg | Obraz JPEG, długie rozszerzenie |
| .jpe | image/jpeg | Obraz JPEG, rzadkie rozszerzenie |
| .gif | image/gif | Obraz GIF |
| .webp | image/webp | Obraz WebP |
| .avif | image/avif | Obraz AVIF |
| .svg | image/svg+xml | Obraz wektorowy SVG |
| .bmp | image/bmp | Obraz bitmapowy |
| .ico | image/vnd.microsoft.icon | Plik ikony |
| .tif | image/tiff | Obraz TIFF |
| .tiff | image/tiff | Obraz TIFF, długie rozszerzenie |
| .heic | image/heic | Obraz HEIC |
| .heif | image/heif | Obraz HEIF |
Dźwięk
11Kontener i kodek to dwa różne pytania. audio/ogg mówi jak plik jest zawinięty; wewnątrz może być Vorbis, Opus albo FLAC.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| .mp3 | audio/mpeg | Dźwięk MP3 |
| .wav | audio/wav | Dźwięk WAV |
| .ogg | audio/ogg | Dźwięk Ogg |
| .oga | audio/ogg | Dźwięk Ogg, wyraźne rozszerzenie |
| .opus | audio/opus | Dźwięk Opus |
| .m4a | audio/mp4 | Dźwięk AAC w kontenerze MP4 |
| .flac | audio/flac | Dźwięk bezstratowy FLAC |
| .weba | audio/webm | Dźwięk WebM |
| .aac | audio/aac | Surowy dźwięk AAC |
| .mid | audio/midi | Sekwencja MIDI |
| .midi | audio/midi | MIDI, długie rozszerzenie |
Wideo
9Strumieniowanie wideo wymaga więcej niż właściwy typ — serwer musi też odpowiadać na żądania zakresu, inaczej przeglądarka pobiera cały plik zanim zacznie odtwarzać.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| .mp4 | video/mp4 | Wideo MP4 |
| .m4v | video/mp4 | Wideo MP4, rozszerzenie Apple |
| .webm | video/webm | Wideo WebM |
| .ogv | video/ogg | Wideo Ogg |
| .mov | video/quicktime | Wideo QuickTime |
| .avi | video/x-msvideo | Wideo AVI |
| .mkv | video/x-matroska | Wideo Matroska |
| .wmv | video/x-ms-wmv | Wideo Windows Media |
| .3gp | video/3gpp | Mobilne wideo 3GPP |
Czcionki
5Rodzina font/* została zarejstrowana późno; stare narzędzia jeszcze wysyłają application/font-woff i application/x-font-ttf, które przeglądarki akceptują ale nie powinny być pisane dla czegokolwiek nowego.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| .woff | font/woff | Czcionka sieciowa WOFF |
| .woff2 | font/woff2 | Czcionka sieciowa WOFF2 |
| .ttf | font/ttf | Czcionka TrueType |
| .otf | font/otf | Czcionka OpenType |
| .eot | application/vnd.ms-fontobject | Embedded OpenType, tylko Internet Explorer |
Archiwa i binaria
12application/octet-stream to uczciwa odpowiedź gdy nic lepsze nie jest znane, i to też co wymusza pobranie zamiast renderowanie.
| Rozszerzenie | Typ MIME | Czym to jest |
|---|---|---|
| .zip | application/zip | Archiwum ZIP |
| .gz | application/gzip | Archiwum gzip |
| .tar | application/x-tar | Archiwum tar |
| .7z | application/x-7z-compressed | Archiwum 7-Zip |
| .rar | application/vnd.rar | Archiwum RAR |
| .bz2 | application/x-bzip2 | Archiwum bzip2 |
| .iso | application/x-iso9660-image | Obraz dysku |
| .bin | application/octet-stream | Nieznane dane binarne |
| .exe | application/x-msdownload | Plik wykonywalny Windows |
| .apk | application/vnd.android.package-archive | Pakiet Android |
| .deb | application/vnd.debian.binary-package | Pakiet Debian |
| .swf | application/x-shockwave-flash | Film Flash, dawno przestarzały |