文件 MIME 类型

MIME 类型是: 媒体类型(通常称为 Multipurpose Internet Mail Extensions 或 MIME 类型 )是一种标准,用来表示文档、文件或字节流的性质和格式。它在IETF RFC 6838中进行了定义和标准化。

使用mime的时候要特别注意:浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器在响应头中添加正确的MIME类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。

MIME 的通用结构:type/subtype 感觉用它特别方便,但是就不能指定属于自己的类型!

MIME的组成结构非常简单;由类型与子类型两个字符串中间用’/'分隔而组成。不允许空格存在。type 表示可以被分多个子类的独立类别。subtype 表示细分后的每个类型。MIME类型对大小写不敏感,但是传统写法都是小写。

application/octet-stream 类型
这是应用程序文件的默认值。意思是 未知的应用程序文件 ,浏览器一般不会自动执行或询问执行。浏览器会像对待 设置了HTTP头Content-Disposition 值为 attachment 的文件一样来对待这类文件。
![在这里插入图片描述](https://img-blog.****img.cn/20201008100130814.png#pic_center文件 MIME 类型

text/plain 文本文件默认值。即使它意味着未知的文本文件,但浏览器认为是可以直接展示的。
text/plain并不是意味着某种文本数据。如果浏览器想要一个文本文件的明确类型,浏览器并不会考虑他们是否匹配。比如说,如果通过一个表明是下载CSS文件的链接下载了一个 text/plain 文件。如果提供的信息是text/plain,浏览器并不会认出这是有效的CSS文件。CSS类型需要使用text/css。

图片类型
只有一小部分图片类型是被广泛支持的,Web安全的,可随时在Web页面中使用的:
文件 MIME 类型

此处的类型划分有一定的争议,算是不太准确的,对现实中的使用有多少的差异,有人认为此处应该增加 WebP(image/webp),但是每个新增的图片类型都会增加代码的数量,这会带来一些新的安全问题,所以浏览器供应商对于添加类型非常小心。

另外的一些图片种类可以在Web文档中找到。比如很多浏览器支持 icon 类型的图标作为 favicons或者类似的图标,并且浏览器在MIME类型中的 image/x-icon 支持ICO图像。

很多web服务器使用默认的 application/octet-stream 来发送未知类型。出于一些安全原因,对于这些资源浏览器不允许设置一些自定义默认操作,导致用户必须存储到本地以使用。常见的导致服务器配置错误的文件类型,所以一般情况下,还是使用通用型的写法吧!

MIME也不是指定的唯一的它还可以使用其他传送文件类型的方法;

详见可以参考w3c:https://www.w3school.com.cn/media/media_mimeref.asp