MIME 类型查询工具
内置 100+ 常见文件扩展名与 MIME 类型对照表,覆盖文档、图片、音频、视频、压缩、代码、字体、应用 8 大类别。 支持搜索过滤、类别筛选、一键复制扩展名或 MIME 类型。适用于 HTTP Content-Type 头设置、 Nginx / Apache MIME 配置、前端文件上传校验等场景,所有查询在浏览器本地完成。
常见问题
什么是 MIME 类型?它和文件扩展名有什么关系?
MIME 类型(Multipurpose Internet Mail Extensions)是一种标准化的文件格式标识,
形如 type/subtype,例如 text/html、image/png、
application/json。它最初用于邮件附件,后来被 HTTP 协议采用,成为 Web 传输文件的标准格式标识。
文件扩展名是操作系统层面的文件类型约定(如 .html、.png),
两者通常是一一对应关系,但并非绝对:同一扩展名可能对应多个 MIME 类型(如 .ts
既可能是 TypeScript 也可能是 MPEG-TS 视频流),同一 MIME 类型也可能对应多个扩展名(如 image/jpeg
对应 .jpg 和 .jpeg)。
HTTP Content-Type 头有什么作用?如何设置?
Content-Type 是 HTTP 响应头(也可用于请求头),用于告诉浏览器服务器返回的内容类型,
例如 Content-Type: text/html; charset=utf-8。浏览器根据该值决定如何渲染内容:
若为 text/html 则解析为网页,若为 application/json 则显示为 JSON,
若为 application/octet-stream 则触发下载。设置方式:①Nginx 在 mime.types
文件中配置扩展名到 MIME 类型的映射;②Apache 在 .htaccess 中用
AddType application/json .json 指令;③后端代码直接设置响应头(如 Node.js 的
res.setHeader('Content-Type', 'application/json'));④前端用 <a download>
或 Blob 触发下载时也可指定类型。
浏览器是按扩展名还是 MIME 类型识别文件?
HTTP 传输时以 MIME 类型为准:服务器返回的 Content-Type 头决定浏览器如何处理响应体,
即使 URL 扩展名是 .jpg 但 Content-Type 是 text/html,浏览器仍会当网页渲染。
本地文件以扩展名为主:操作系统按扩展名关联应用程序打开文件。但现代浏览器有 MIME 嗅探机制:
若服务器未设置 Content-Type 或设置为 application/octet-stream,浏览器可能嗅探文件内容前几个字节
(文件签名 / magic number)来推断真实类型。出于安全考虑,可通过
X-Content-Type-Options: nosniff 头禁用嗅探,强制浏览器严格遵守 Content-Type。
常见的 MIME 类型有哪些?按类别怎么分类?
本工具内置 100+ 常见 MIME 类型,按用途分为 8 大类别: 文档(txt/html/css/csv/md/pdf/doc/xls/ppt 等); 图片(jpg/png/gif/webp/svg/bmp/ico/heic/avif 等); 音频(mp3/wav/ogg/flac/aac/m4a/opus 等); 视频(mp4/webm/avi/mov/mkv/3gp 等); 压缩(zip/rar/7z/tar/gz/bz2/xz 等); 代码(js/ts/py/java/go/rs/sql/yaml/json/xml 等); 字体(ttf/otf/woff/woff2/eot); 应用(exe/dll/apk/ipa/dmg/deb/rpm/jar 等)。 每条记录含扩展名、MIME 类型、类别、中文描述,点击扩展名或 MIME 类型即可一键复制。
为什么有些文件的 MIME 类型是 application/octet-stream?
application/octet-stream 是通用的二进制流类型,意为"未知的二进制数据"。
当服务器不认识文件类型、或故意不暴露类型时,会返回此值,浏览器收到后通常会触发下载而非尝试渲染。
常见场景:①可执行文件(.exe、.dll、.so);②安装包
(.ipa、.bin);③没有标准 MIME 类型的私有格式。若希望浏览器内联显示而非下载,
需在服务器配置正确的 MIME 类型。
前端文件上传时如何校验文件类型?只校验扩展名够吗?
只校验扩展名不够安全:用户可随意改扩展名(如把 .exe 改成 .png)。
推荐的校验策略:①<input type="file" accept="image/*"> 或
accept=".jpg,.png" 做前端筛选;②读取 file.type(浏览器根据扩展名或内容嗅探得到的 MIME 类型)
做初步校验;③file.name 扩展名校验;④关键场景读取文件头 magic number
(如 PNG 文件前 8 字节是 89 50 4E 47 0D 0A 1A 0A)做最终校验;⑤后端再次校验,前端校验仅为体验,
不能作为安全边界。本工具可帮助你快速查询目标 MIME 类型,用于 accept 属性与 file.type 比对。
Nginx 和 Apache 如何配置自定义 MIME 类型?
Nginx:在 nginx.conf 的 http 或 server 块中用
types { ... } 指令配置映射,例如
types { application/json json; text/markdown md; },
也可用 default_type application/octet-stream; 设置默认类型。
Apache:在 .htaccess 或主配置中用 AddType 指令,
例如 AddType application/json .json,或用 <FilesMatch> 针对特定文件设置。
配置后记得重启 / reload 服务使配置生效。若 MIME 类型配置错误,可能导致浏览器无法正确渲染内容
(如 CSS 文件被当成 HTML 下载、JSON 文件无法在浏览器内联显示)。
这个工具的数据安全吗?查询记录会上传吗?
完全安全。本工具是纯前端应用,所有查询、过滤、复制操作均在浏览器本地完成, 不发起任何网络请求,不上传任何查询内容、不使用 Cookie 追踪、不接入第三方统计。 你可以放心查询任何 MIME 类型,无数据泄露风险。页面关闭后所有状态自动清除。