在线 MIME 类型查询工具,根据文件扩展名查找对应 MIME 类型
使用场景
Web 开发中配置服务器或者写后端代码的时候,MIME 类型是绕不开的。比如你上传了一个 .webp 格式的图片,但服务器返回了错误的 Content-Type,导致浏览器无法正常显示。你得知道 .webp 对应的 MIME 类型是 image/webp,在 Nginx 或者 Apache 里正确配置。类似的还有 .woff2 字体文件(font/woff2)、.wasm 文件(application/wasm),光靠记是记不全的。
做文件上传下载功能的开发人员也经常用。你在写后端的文件服务逻辑时,需要根据文件扩展名动态设置响应的 Content-Type 头。不能所有文件都返回 application/octet-stream,图片要返回 image/jpeg、视频要返回 video/mp4、PDF 要返回 application/pdf。用这个工具查一下,确保每种文件类型都返回了正确的 MIME。
还有一个场景是排查线上问题。用户反馈"下载的文件打不开"或者"浏览器里显示的是乱码",十有八九是 MIME 类型设置错了。比如 .json 文件返回了 text/plain 而不是 application/json,或者 .svg 文件没返回 image/svg+xml。对照这个工具查一下正确的 MIME 类型,再去服务器配置里改一下就好了。
常见问题
问:MIME 类型写错了会有什么后果? 答:后果挺严重的。浏览器依赖 Content-Type 来判断如何渲染内容。类型错误可能导致图片无法显示、文件弹下载而不是直接打开、JSON 接口被当作纯文本解析。某些安全要求严格的浏览器还会因为 MIME 类型不匹配而直接拒绝处理内容。
问:所有文件扩展名都有对应的 MIME 类型吗?
答:大部分常见的文件扩展名都有标准的 MIME 类型。但一些非常小众或自定义的扩展名可能没有标准对应,通常回退为 application/octet-stream(通用的二进制流),这会导致浏览器总是弹下载而不是直接显示。
问:怎么在 Nginx 里配置 MIME 类型?
答:Nginx 使用 types 指令配置 MIME 映射,通常写在 mime.types 文件中。格式如 types { image/webp webp; }。你也可以在 server 或 location 块中单独使用 default_type 指令设置默认类型。
相关工具推荐
- URL 解析器 - 解析和拆解 URL 各个部分
- Base64 图片编码 - 将图片转为 Base64 编码
- HTTP 状态码速查表 - 快速查询 HTTP 状态码