
什么是 MIME 类型
MIME 类型(媒体类型)告诉客户端响应体包含的数据种类。它位于 Content-Type 头部中,格式为 type/subtype,可选带参数:
Content-Type: text/html; charset=utf-8
浏览器用它来决定是渲染、下载还是解析响应——设置错误是“浏览器下载了我的页面而不是显示它”的常见原因。

文本与 Web
| 扩展名 | MIME 类型 |
|---|---|
| .html | text/html |
| .css | text/css |
| .js / .mjs | text/javascript |
| .json | application/json |
| .xml | application/xml |
| .csv | text/csv |
| .txt | text/plain |
| .md | text/markdown |
图片
| 扩展名 | MIME 类型 |
|---|---|
| .png | image/png |
| .jpg / .jpeg | image/jpeg |
| .gif | image/gif |
| .webp | image/webp |
| .svg | image/svg+xml |
| .avif | image/avif |
| .ico | image/x-icon |

文档、归档、字体
| 扩展名 | MIME 类型 |
|---|---|
| application/pdf | |
| .zip | application/zip |
| .gz | application/gzip |
| .woff2 | font/woff2 |
| .woff | font/woff |
| .ttf | font/ttf |
音频与视频
| 扩展名 | MIME 类型 |
|---|---|
| .mp3 | audio/mpeg |
| .wav | audio/wav |
| .mp4 | video/mp4 |
| .webm | video/webm |
| .ogg | audio/ogg |

charset 与回退
charset=utf-8对文本类型很重要,这样浏览器才能正确解码字节。对于图片等二进制类型则无意义。application/octet-stream是“未知二进制”回退类型。当服务器无法确定类型时会发送它——浏览器通常会下载而不是渲染。- 用错误的类型提供 JavaScript 或 CSS 可能导致严格模式的浏览器拒绝执行,因此请确保扩展名与上表匹配。
常见问题
JSON 的 MIME 类型是什么?
application/json。它没有 charset 参数,因为根据规范 JSON 始终是 UTF-8。
JavaScript 的 Content-Type 是什么?
text/javascript 是当前标准。旧的 application/javascript 仍然有效,但推荐使用 text/javascript。
application/octet-stream 是什么意思? 这是通用的“任意二进制数据”类型,在真实类型未知时使用;浏览器通常会下载而不是渲染。