MIME 和文件扩展名
文件扩展名:是操作系统用来标注文件格式的一种机制,用一个点号(.)和主文件名分隔开。由于历史原因,多数扩展名是三个字母。
注意,这里说的是标注,而非定义,既然是标注,说明不是强制的。
比如你用 photoshop 可以打开一个 psd 图像文件。把这个文件扩展名改为 txt,再拖到 photoshop 窗口里,还是一样能打开,说明内容完全没有变化,变化的只是双击时的默认打开方式(不同的文件扩展名双击时使用默认的程序打开)
MIME:MIME(Multipurpose Internet Mail Extensions) 多用途网络邮件扩展类型,可被称为 Media type 或 Content type,它设定某种类型的文件当被浏览器打开的时候需要用什么样的应用程序,多用于 HTTP 通信和设定文档类型例如 HTML。
之所以叫多用途网络邮件扩展类型,因为它最早被用于电子邮件系统,后用于浏览器,服务器将此类型名放入传给浏览器的数据中以告诉浏览器用什么样的插件打开它。
MIME 组成:(type/subtype; parameter)) 主类型 + 子类型 + 参数(可选)也可称为信息头 + 段头,这种称为更接近于“邮件”的概念,写法上,传统写法是全小写,但其本身对大小写不敏感,当前被认可的主类型包括:application text image multipart audio example font message model multipart video
子类型也由媒体类型组成,但它也能包含其他内容,例如前缀、作者名。
备注: 写法上注意; 与后面的参数之间有空格
例如: text/html; charset=UTF-8
常见 MIME 类型:
application: 某种二进制附件, 对于没有 subtype 的情况,默认是 application/octet-stream
text: 文本,理论上可读,对于没有 subtype 的情况,默认是 text/plain
image: 图像
audio: 音频
video: 视频
multipart: 多部分文档文件(复合文档文件)
下面是详细介绍
application/octet-stream 未知的应用程序文件
application/json json 数据
text/plain 未知的文本文件(纯文本文件),浏览器会认为这是可以直接显示的
注: 浏览器分辨文件是基于 MIME 的,而不会把文件打开查看是否是其他类型,例如用 link 链接了一个标记为 text/plain 的文件,就算此文件是 css 文件,就算其后缀是.css, 浏览器依旧不认
text/css css 文件
text/html HTML 文件
image/gif gif 文件
常见的还有 image/jpeg、image/png、image/svg
很多浏览器支持 icon image/x-icon