このガイドが役立つ場面
MIMEタイプ一覧、拡張子からContent-Typeを調べる方法、application/jsonやimage/webpの用途、ファイルアップロードで許可する形式を確認したい利用者向けです。
- NginxやApache、CDNが誤ったContent-Typeを返す原因を調べる
- APIで返すJSON、CSV、PDF、画像のメディアタイプを確認する
- ファイルアップロードのaccept属性とサーバー側検証を設計する
- 未知の拡張子をブラウザで表示するかダウンロードさせるか判断する
MIMEタイプを確認する場面
- WebサーバーやCDNのContent-Type設定を確認するとき
- ファイルアップロードの許可形式を設計するとき
- メール添付やAPIレスポンスのメディアタイプを調べるとき
- 拡張子とブラウザの表示・ダウンロード動作が一致しない原因を切り分けるとき
MIMEタイプと拡張子を調べる手順
- 検索欄へ拡張子、MIMEタイプ、用途のいずれかを入力します。
- カテゴリや登録状態で絞り込み、候補の用途と代表的な拡張子を確認します。
- 詳細を開き、HTTPヘッダー例、圧縮性、文字・バイナリの扱い、安全上の注意を確認します。
- 必要なMIMEタイプや設定例をコピーし、対象環境の設定へ反映します。
- 実際のレスポンスヘッダーとファイル内容を確認し、意図した扱いになるかテストします。
拡張子だけに依存しないための注意
ファイル名の拡張子とContent-Typeは利用者が変更できるため、アップロード検証ではMIMEタイプだけを信用せず、ファイル署名、デコード可否、容量、保存先、配信時のContent-Dispositionも確認します。
ユーザーがアップロードしたHTMLやSVGを同一オリジンからそのまま表示すると、スクリプト実行につながる場合があります。形式の確認に加えて、無害化と別オリジン配信を検討してください。
具体例:WebP画像がダウンロードされる原因を確認する
WebP画像のURLを開いたときに表示されずダウンロードされる場合、サーバーがimage/webpではなくapplication/octet-streamなどを返している可能性があります。
一覧で.webpを検索して推奨MIMEタイプを確認し、開発者ツールのNetwork欄で実際のContent-TypeとContent-Dispositionを照合します。
- 検索欄へ.webpを入力し、image/webpの詳細を開きます。
- ブラウザの開発者ツールで対象レスポンスのヘッダーを確認します。
- サーバーまたはCDNのMIMEマッピングをimage/webpへ修正します。
- キャッシュを更新し、画像表示とダウンロード動作を再確認します。
Content-Typeを修正しても古いCDNキャッシュが残る場合があります。レスポンスのAgeやキャッシュキーも確認してください。
よくある質問
- 拡張子が同じならMIMEタイプも一つに決まりますか?
- 必ずしも一つではありません。歴史的な別名、ベンダー形式、用途の違いがあるため、利用先の仕様とIANA登録情報を確認してください。
- MIMEタイプだけで安全なファイルか判断できますか?
- 判断できません。申告された値は偽装できるため、実データの検査、デコード、容量制限、保存・配信方法を組み合わせて確認してください。
ブラウザで試す
入力内容はブラウザ内で処理されます。元データを残したうえで、結果を確認してから保存・共有してください。
MIMEタイプ一覧・拡張子検索ツールを開く