可能很多人会认为mime type和后缀之间是一一对应的关系。
其实两者之间即不是一对一,也不是一对多或者多对一的关系.
mime type是一套标准规范,官方的解释是:
A media type (also known as a Multipurpose Internet Mail Extensions or MIME type) is a standard that indicates the nature and format of a document, file, or assortment of bytes. It is defined and standardized in IETF's RFC 6838.
Browsers use the MIME type, not the file extension, to determine how to process a URL, so it's important that web servers send the correct MIME type in the response's Content-Type
header.
以上这段摘自mozilla官网。
mime type现在也叫media type。mime type的标准定义是RFC 6838.这个标准的链接是https://tools.ietf.org/html/rfc6838.mime type最初的设计是用于在网络中识别文件类型的标准。而扩展名或者说后缀名是另外一套识别文件类型的方式,这个没有标准。只是一种方便识别文件类型的手段,不过随着windows系统也采用这种方式,而逐渐变成一种大家都接受并使用的方式。
所以说这是两套识别文件类型的方式。由于是两套文件类型识别方式,而且扩展名定义很随意,并没有统一标准。所以两者之间并没有统一的对应关系。比如我可以随意定义一个xxx.log的格式。内部存储的方式与txt文档一样,那么我这个.log文件的mime就与txt的一样:text/plain.
当然,一些通用的被大家公认的扩展名,还是有对应关系的。但这些对应关系也不是一一对应的。比如ogg格式。即有可能是audio/ogg。也有可能是video/ogg。(摘自
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)具体得看这个ogg文件内部存的是什么内容。