MIME Type Arama
MIME type'ları uzantıya veya türe göre ara. ~120 yaygın tür — image, video, audio, application, text, font.
Bu ne işe yarar?
Bir MIME type (şimdi Internet media type denir) image/png veya application/json gibi iki parçalı bir etikettir; bir sunucuya, tarayıcıya veya kütüphaneye bir byte parçasını nasıl yorumlayacağını söyler. HTTP Content-Type header'larında giren şey, Multipart mesaj parçalarının beyan ettiği şey ve file --mime'ın raporladığı şeydir. IANA kayıt defterinin binlerce girişi var; bu araç web çalışmasında gerçekten karşılaşacağın yaklaşık 120'yi kapsar.
Ne zaman kullanılır
- Bir API yanıtında
Content-Typeayarlama ve.docx,.heicveya.webmanifestiçin doğru olanı isteme. - Bir upload alanının
acceptniteliğini veya S3 bucket allow-list'ini yapılandırma. - Bir hex dump veya tcpdump okuma ve
application/grpc-web'in gerçekte ne olduğunu arama. - Bir static-file sunucusu veya CDN config'i kurma ve uzantı-mime eşlemesi gerektirme.
text/xmlmı yoksaapplication/xmlmi kullanılacağı konusunda karar verme (yeni kod için RFC 7303'e göre ikincisini kullan).
Sık yapılan hatalar
- Uzantı MIME type'a eşit değildir.
.jsongenellikleapplication/json'a eşlenir, ancak bir sunucu onutext/plainolarak sunabilir ve tarayıcılar header'a uyacaktır. Header'ı her zaman açık olarak ayarla. - JavaScript karışıktır. RFC 9239,
text/javascript'in tercih edilen tür olduğunu söyler.application/javascript,application/ecmascriptve diğerleri eskidir ama hâlâ görülür. - OOXML türleri çok uzundur.
.docxiçinapplication/vnd.openxmlformats-officedocument.wordprocessingml.document. Onları hatırlamaya çalışma — kopyala. application/octet-stream"bilmiyorum" demektir. Türü kontrol ediyorsan, gerçek olanı kullan — tarayıcılar render edilebilir olduğunda bile octet-stream içeriğini zorla indirebilir.- Charset metin türleri için önemlidir.
Content-Type: text/html; charset=utf-8— onsuz, tarayıcılar tahmin eder ve bazen yanlış tahmin eder (mojibake). - Magic-byte sniffing beyan edilen türden farklıdır. Tarayıcılar dosya içeriğine göre
Content-Type'ı ikinci kez tahmin edebilir (X-Content-Type-Options: nosniffbunu devre dışı bırakır — güvenlik için ayarla).