321_MediaType Media Type 是什么

321_MediaType Media Type 是什么MediaType是什么MediaType在网络协议的消息头里面叫做Content-Type使用两部分的标识符来确定一个类型所以我们用的时候其实就是为了表明我们传的东西是什么类型比如application/json:JSON格式的数据,在RFC4627中定义application/javascript:JavaScript,在RFC4329中定义但是…

大家好,又见面了,我是你们的朋友全栈君。

 

 

 

 

 

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

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141212.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java学习之Mybatis框架基础篇

    0x00前言续上篇文章的入门篇,继续markMybatis内容,上一章节只是写了Mybatis的一个简单查询功能,这篇来写他的删改查等其他操作。0x01Mybatis增加大法添加的操作和查

    2021年12月12日
    42
  • 485拓扑结构图_拓扑图

    485拓扑结构图_拓扑图一条单向的铁路线上,依次有编号为 1, 2, …, n 的 n 个火车站。每个火车站都有一个级别,最低为 1 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是 5 趟车次的运行情况。其中,前 4 趟车次均满足要求,而第 5 趟车次由于停靠了 3 号火车站(2 级)却未停靠途经的 6 号火车站(亦为 2 级)而不满足要求。现有 m

    2022年8月9日
    4
  • iOS跑步软件开发-从无到有

    iOS跑步软件开发-从无到有前言经过两个多月的开发与调试,全民星跑1.0.1终于上线了,首先要感谢曲总和洛洛爱吃肉的技术支持.全民星跑作为一个以跑步计步为主要功能的软件,骚栋在开发过程中实在是遇到了不少的坑,这篇博客会分为加速仪计步和跑步计步两个模块来说明,不过有一点我想先声明,因为人力资源有限,所以可能在计步的逻辑上跟不上咕咚或者是Keep这些大厂,望各位看官见谅.????????????功能规划一个App如何统计一个人的运动?这里主要有两种方式,一种是使用陀螺仪(或是加速仪)获取手机各个方向的加速度来统计用户的

    2022年7月26日
    2
  • 整合Druid—SpringBoot[通俗易懂]

    整合Druid—SpringBoot[通俗易懂]整合Druid(数据源)Druid简介Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。Druid是阿里巴巴开源平台上一个数据库连接池实现,结合了C3P0、DBCP等DB池的优点,同时加入了日志监控。Druid可以很好的监控DB池连接和SQL的执行情况,天生就是针对监控而生的DB连接池。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。SpringBoot2.0以上默认使用Hikari

    2022年7月23日
    9
  • LeetCode——Remove Element

    LeetCode——Remove Element

    2022年2月2日
    39
  • gawk

    gawk简介awk报告生成器,作用格式化文本输出:awk分为awk.nawk.gawk。但是linux上的awk为gawk基本用法gawk[options]'program'

    2022年8月3日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号