浏览器是如何区分资源类型? MIME类型是什么?

HTTP header 字段中 Accept 表示客户端可支持的数据类型(Content-Type),如text/css, application/json, 这些类型都是以MIME规格定义的数据类型来表示的, 统称为MIME类型。


浏览器是如何区分资源类型? MIME类型是什么?

MIME 是什么?

MIME: Multipurpose Internet Mail Extensions, 多用途互联网邮件扩展。

它是一种描述消息内容类型的因特网标准。最早应用于电子邮件系统,后来也应用到浏览器。 这个标准被定义在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中,用来表示文档、文件或字节流的性质和格式。(它的定义和标准化- 可参考IETF RFC 6838)。互联网号码分配机构(IANA)是负责跟踪所有官方MIME类型的官方机构,可以在媒体类型页面中找到最新的完整列表。

MIME类型有什么作用?

浏览器要显示或处理资源的时候,并不知道其响应的数据是什么类型的,为了区分这些资源类型,就需要用到 MIME 了。

浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL。 因此web服务器会在响应头中添加MIME类型,从而让浏览器知道数据类型,从而浏览器能够知道应该使用哪种插件或者应用程序去读取相关数据。 MIME请求类型在请求报文和响应报文中均有体现(Accept字段, Content-Type字段)

MIME通用结构 - type/subtype

MIME的组成结构非常简单;由类型与子类型两个字符串中间用'/'分隔而组成。不允许空格存在。type 表示可以被分多个子类的独立类别。subtype 表示细分后的每个类型。

常见MIME 类型:

  • text/plain
  • text/html
  • image/jpeg
  • image/png
  • audio/mpeg
  • audio/ogg
  • audio/*
  • video/mp4
  • application/*
  • application/json
  • application/javascript
  • application/ecmascript
  • application/octet-stream

参考资料

IETF RFC 6838: https://tools.ietf.org/html/rfc6838

MIME媒体类型完整列表: https://www.iana.org/assignments/media-types/media-types.xhtml


分享到:


相關文章: