Wyszukiwarka MIME Types
Wyszukuj MIME types po rozszerzeniu albo po typie. ~120 typowych — image, video, audio, application, text, font.
Do czego to służy?
MIME type (obecnie nazywany Internet media type) to dwuczęściowa etykieta typu image/png albo application/json, która mówi serwerowi, przeglądarce albo bibliotece, jak interpretować kawałek bajtów. To, co idzie w nagłówkach HTTP Content-Type, co deklarują części Multipart wiadomości i co raportuje file --mime. Rejestr IANA ma tysiące wpisów; to narzędzie pokrywa około 120, na które faktycznie natkniesz się w pracy webowej.
Kiedy tego użyć
- Ustawianie
Content-Typena odpowiedzi API i potrzeba właściwego dla.docx,.heicalbo.webmanifest. - Konfiguracja atrybutu
acceptw polu uploadu albo allow-listy bucketu S3. - Czytanie hex dumpa albo tcpdumpa i sprawdzanie, czym właściwie jest
application/grpc-web. - Budowa serwera plików statycznych albo configa CDN i potrzeba mapowania rozszerzenie→MIME.
- Rozstrzyganie, czy używać
text/xmlczyapplication/xml(w nowym kodzie tego drugiego, wg RFC 7303).
Częste pułapki
- Rozszerzenie nie równa się MIME type.
.jsonzwykle mapuje się naapplication/json, ale serwer może serwować jakotext/plaini przeglądarki posłuchają nagłówka. Zawsze ustawiaj nagłówek jawnie. - JavaScript jest bałaganiarski. RFC 9239 mówi, że
text/javascriptjest preferowanym typem.application/javascript,application/ecmascripti inne są przestarzałe, ale nadal widywane. - Typy OOXML są bardzo długie.
application/vnd.openxmlformats-officedocument.wordprocessingml.documentdla.docx. Nie próbuj zapamiętywać — kopiuj. application/octet-streamznaczy "nie wiem". Jeśli kontrolujesz typ, użyj prawdziwego — przeglądarki mogą wymusić download contentu octet-stream, nawet jeśli da się go wyrenderować.- Charset ma znaczenie dla typów tekstowych.
Content-Type: text/html; charset=utf-8— bez tego przeglądarki zgadują i czasem zgadują źle (mojibake). - Magic-byte sniffing różni się od deklarowanego typu. Przeglądarki mogą zakwestionować
Content-Typena bazie zawartości pliku (X-Content-Type-Options: nosniffto wyłącza — ustaw dla bezpieczeństwa).