MIME 类型(Multipurpose Internet Mail Extensions)
字数 981 2025-11-27 18:59:16
MIME 类型(Multipurpose Internet Mail Extensions)
- 基础概念
MIME 类型是一种标准,用于标识互联网上传送的数据类型。它最初为电子邮件附件设计,现广泛应用于 HTTP 协议中。其格式为类型/子类型,例如:
text/html表示 HTML 文档image/jpeg表示 JPEG 图像application/json表示 JSON 数据
- 工作原理
当服务器返回资源时,会在 HTTP 响应头中包含Content-Type字段,例如:
Content-Type: text/css; charset=utf-8
浏览器根据该值决定如何处理数据。若类型错误(如将 text/plain 误标为 application/javascript),可能导致代码无法执行。
- 类型分类详解
- 文本类型:
text/plain,text/css,text/xml - 图像类型:
image/png,image/svg+xml - 应用类型:
application/pdf,application/zip - 多媒体类型:
audio/mpeg,video/mp4 - 特殊类型:
multipart/form-data:用于表单文件上传application/octet-stream:未知二进制数据的默认类型
- 字符集声明
文本类型需指定字符编码,例如:
Content-Type: text/html; charset=ISO-8859-1
未声明时浏览器可能误判编码,导致乱码。现代标准推荐默认使用 UTF-8。
-
类型探测与安全
当服务器未提供 MIME 类型时,浏览器会执行 MIME 嗅探,通过分析文件内容推测类型。这可能引发安全风险,例如将恶意脚本伪装成图片。可通过响应头X-Content-Type-Options: nosniff强制禁用嗅探。 -
IANA 注册机制
官方 MIME 类型由互联网号码分配机构(IANA)统一注册管理。自定义类型应使用x-前缀(如application/x-tar),但现代实践更推荐使用标准化类型。 -
实际应用场景
- 文件上传时浏览器检查
accept属性限制类型 - CDN 通过正确配置 MIME 类型优化缓存策略
- API 设计中使用
Accept请求头进行内容协商(如Accept: application/vnd.api+json)