大家好,又见面了,我是你们的朋友全栈君。
MediaType是什么
MediaType在网络协议的消息头里面叫做Content-Type
使用两部分的标识符来确定一个类型
所以我们用的时候其实就是为了表明我们传的东西是什么类型
比如
application/json:JSON格式的数据,在RFC 4627中定义
application/javascript:JavaScript,在RFC 4329中定义但是不被IE8以及之前的版本支持
audio/mp4:MP4音频
audio/mpeg:MP3 或者MPEG音频,在RFC 3003中定义
image/jpeg:JPEG 和JFIF格式,在RFC 2045 和 RFC 2046中定义
image/png:png格式,在 RFC 2083中定义
text/html:HTML格式,在RFC 2854中定义
text/javascript :JavaScript在已经废弃的RFC 4329中定义,现在推荐使用“application/javascript”。然而“text/javascript”允许在HTML 4 和5 中使用。并且与“application/javascript”不同,它是可以跨浏览器支持的。
等等
记住常用的:
文件:
text/css
text/html
text/javascript
text/plain
图片:
image/bmp
image/gif
image/jpeg
image/png
Json:
application/json
音频:
audio/mpeg
video/mpeg
audio/ogg
video/ogg
Media Type
Media Type (以前叫 MIME Type) 是一个由两部分组成的标识符,用于在网络上传入文件格式以及格式内容。The Internet Assigned Numbers Authority(IANA) 是这些分类的标准化以及发布的官方机构。Media Type 最初是在1996年11月的Request for Comments 2045 中定义的。作为MIME (Multipurpose Internet Mail Extensions) 规范的一部分,用于表示电子邮件内容和附件的类型。Media Type也被用在一些互联网协议,例如HTTP,或者文件格式,例如HTML。
命名Naming
Media Type 由类型和子类型组成,子类型进一步构成一个树。
当前注册的类型有:应用程序、音频、示例、字体、图像、消息、模型、多部件、文本和视频。
例如,一个HTML文件可能被指定为text/HTML;charset=utf-8
在这个例子中,html是子类型,charset是可选参数,表示字符编码。
子类型通常由媒体格式组成,但根据注册树中的不同规则,它可以或必须包含其他内容,如树前缀、生产者、产品或后缀。
类型、子类型和参数名称不区分大小写。参数值通常是大小写敏感的,但根据预期的用途,可以用大小写不敏感的方式解释。
常见
application/javascript
application/json
application/x-www-form-urlencoded
application/xml
application/zip
application/pdf
application/sql
application/graphql
application/ld+json
application/msword (.doc)
application/vnd.openxmlformats-officedocument.wordprocessingml.document(.docx)
application/vnd.ms-excel (.xls)
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xlsx)
application/vnd.ms-powerpoint (.ppt)
application/vnd.openxmlformats-officedocument.presentationml.presentation (.pptx)
application/vnd.oasis.opendocument.text (.odt)
application/zstd (.zst)
audio/mpeg
audio/ogg
multipart/form-data
text/css
text/html
text/xml
text/csv
text/plain
image/png
image/jpeg
image/gif
application/vnd.api+json
注册树
所有Media Type都应该使用IANA注册程序进行注册。为了提高Media Type注册过程的效率和灵活性,可以在注册树中注册不同结构的子类型,并使用树前缀来区分它们。目前创建了以下树:standard(无前缀)、vendor (vnd)。前缀),个人或vanity(prs。前缀),未注册(x.前缀)。这些注册树是在1996年11月首次定义的(已淘汰的RFC 2048 -目前的RFC 6838)。新的注册树可能由IETF标准创建,用于著名的永久性组织(如科学协会)的外部注册和管理。
标准树
标准树不使用树前缀。
type “/” subtype [“+” suffix] *[“;” parameter]
例如:application/javascript, image/png.
标准树中的注册必须与IESG直接批准的IETF规范相关联,或者由IANA认可的与标准相关的组织注册。
Vendor tree
The vendor tree includes media types associated with publicly available products. It uses the vnd. tree prefix:[1]
type “/” “vnd.” subtype [“+” suffix] *[“;” parameter]
Examples: application/vnd.ms-excel, application/vnd.oasis.opendocument.text.
The terms “vendor” and “producer” are considered equivalent in the context. Industry consortia as well as non-commercial entities can register media types in the vendor tree. A registration in the vendor tree may be created by anyone who needs to interchange files associated with some software product or set of products. However, the registration belongs to the vendor or organization producing the software that employs the type being registered, and that vendor or organization can at any time elect to assert ownership of a registration done by a third party.
Personal or vanity tree
The personal or vanity tree includes media types associated with non publicly available products or experimental media types. It uses the prs. tree prefix:
type “/” “prs.” subtype [“+” suffix] *[“;” parameter]
Examples: audio/prs.sid, image/prs.btif.
Unregistered tree
The unregistered tree includes media types intended exclusively for use in private environments and only with the active agreement of the parties exchanging them. It uses the x. tree prefix:
type “/” “x.” subtype [“+” suffix] *[“;” parameter]
Examples: application/x.foo, video/x.bar.
Media types in this tree cannot be registered. According to RFC 6838 (published in January 2013), any use of types in the unregistered tree is strongly discouraged. In addition, subtypes prefixed with x- or X- are no longer considered to be members of this tree.
According to obsoleted RFC 2048 (published in November 1996)—it should rarely, if ever, be necessary to use unregistered types, and as such use of any x., x- or X- prefixes is discouraged. Obsoleted RFC 1590 (published in September 1993) stated that the use of the x- or X- prefix may be used for unregistered subtypes.
Media types that have been widely deployed (with a subtype prefixed with x- or X-) without being registered, should be, if possible, re-registered with a proper prefixed subtype. If this is not possible, the media type can, after an approval by both the media types reviewer and the IESG, be registered in the standards tree with its unprefixed subtype.
后缀Suffix
Suffix is an augmentation to the media type definition to additionally specify the underlying structure of that media type, allowing for generic processing based on that structure and independent of the exact type’s particular semantics. Media types that make use of a named structured syntax should use the appropriate IANA registered “+”suffix for that structured syntax when they are registered. Unregistered suffixes should not be used (since January 2013). Structured syntax suffix registration procedures are defined in RFC 6838.
The +xml suffix has been defined since January 2001 (RFC 3023), and was formally included in the initial contents of the Structured Syntax Suffix Registry along with +json, +ber, +der, +fastinfoset, +wbxml, and +zip in January 2013 (RFC 6839). Subsequent additions include +gzip, +cbor, +json-seq, and +cbor-seq.
.aac AAC audio audio/aac
.abw AbiWord document application/x-abiword
.arc Archive document (multiple files embedded) application/x-freearc
.avi AVI: Audio Video Interleave video/x-msvideo
.azw Amazon Kindle eBook format application/vnd.amazon.ebook
.bin Any kind of binary data application/octet-stream
.bmp Windows OS/2 Bitmap Graphics image/bmp
.bz BZip archive application/x-bzip
.bz2 BZip2 archive application/x-bzip2
.csh C-Shell script application/x-csh
.css Cascading Style Sheets (CSS) text/css
.csv Comma-separated values (CSV) text/csv
.doc Microsoft Word application/msword
.docx Microsoft Word (OpenXML) application/vnd.openxmlformats-officedocument.wordprocessingml.document
.eot MS Embedded OpenType fonts application/vnd.ms-fontobject
.epub Electronic publication (EPUB) application/epub+zip
.gz GZip Compressed Archive application/gzip
.gif Graphics Interchange Format (GIF) image/gif
.htm
.html HyperText Markup Language (HTML) text/html
.ico Icon format image/vnd.microsoft.icon
.ics iCalendar format text/calendar
.jar Java Archive (JAR) application/java-archive
.jpeg
.jpg JPEG images image/jpeg
.js JavaScript text/javascript
.json JSON format application/json
.jsonld JSON-LD format application/ld+json
.mid
.midi Musical Instrument Digital Interface (MIDI) audio/midi audio/x-midi
.mjs JavaScript module text/javascript
.mp3 MP3 audio audio/mpeg
.mpeg MPEG Video video/mpeg
.mpkg Apple Installer Package application/vnd.apple.installer+xml
.odp OpenDocument presentation document application/vnd.oasis.opendocument.presentation
.ods OpenDocument spreadsheet document application/vnd.oasis.opendocument.spreadsheet
.odt OpenDocument text document application/vnd.oasis.opendocument.text
.oga OGG audio audio/ogg
.ogv OGG video video/ogg
.ogx OGG application/ogg
.opus Opus audio audio/opus
.otf OpenType font font/otf
.png Portable Network Graphics image/png
.pdf Adobe Portable Document Format (PDF) application/pdf
.php Hypertext Preprocessor (Personal Home Page) application/php
.ppt Microsoft PowerPoint application/vnd.ms-powerpoint
.pptx Microsoft PowerPoint (OpenXML) application/vnd.openxmlformats-officedocument.presentationml.presentation
.rar RAR archive application/x-rar-compressed
.rtf Rich Text Format (RTF) application/rtf
.sh Bourne shell script application/x-sh
.svg Scalable Vector Graphics (SVG) image/svg+xml
.swf Small web format (SWF) or Adobe Flash document application/x-shockwave-flash
.tar Tape Archive (TAR) application/x-tar
.tif
.tiff Tagged Image File Format (TIFF) image/tiff
.ts MPEG transport stream video/mp2t
.ttf TrueType Font font/ttf
.txt Text, (generally ASCII or ISO 8859-n) text/plain
.vsd Microsoft Visio application/vnd.visio
.wav Waveform Audio Format audio/wav
.weba WEBM audio audio/webm
.webm WEBM video video/webm
.webp WEBP image image/webp
.woff Web Open Font Format (WOFF) font/woff
.woff2 Web Open Font Format (WOFF) font/woff2
.xhtml XHTML application/xhtml+xml
.xls Microsoft Excel application/vnd.ms-excel
.xlsx Microsoft Excel (OpenXML) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xml XML application/xml if not readable from casual users (RFC 3023, section 3)
text/xml if readable from casual users (RFC 3023, section 3)
.xul XUL application/vnd.mozilla.xul+xml
.zip ZIP archive application/zip
.3gp 3GPP audio/video container video/3gpp
audio/3gpp if it doesn’t contain video
.3g2 3GPP2 audio/video container video/3gpp2
audio/3gpp2 if it doesn’t contain video
.7z 7-zip archive application/x-7z-compressed
总之,记住最常用的
文件:
text/css
text/html
text/javascript
text/plain
图片:
image/bmp
image/gif
image/jpeg
image/png
Json:
application/json
音频:
audio/mpeg
video/mpeg
audio/ogg
video/ogg
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141212.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...