HTTP MIME/Content-Type (Body 类型)

news/2024/11/23 3:29:19/

文章目录

  • http
  • MIME(Content-Type)
    • 原始格式:raw
    • 文本:text/xxx
      • ==text/plain==
      • text/html
      • text/css
      • text/javascript
      • text/xml
    • 二进制:application/xxx
      • ==application/octet-stream==
      • binary
      • msgpack
      • application/json
        • GraphQL
          • 案例:
      • application/xml
      • application/pdf
      • application/zip
    • 表单相关:
      • form-data
      • ==multipart/form-data==
        • 案例:
      • application/x-www-form-urlencoded
        • 案例:
    • 常用文件
      • .xls文件
      • .xlsx文件
      • .doc
      • .docx
      • .ppt
    • 图片 image/jpeg、image/png、image/gif
    • 音频 audio/mpeg、audio/wav、audio/ogg
    • 视频 video/mp4、video/avi、video/mpeg

http

HTTP 请求:

# 状态行
<method> <request-URL> <version>
# 请求头
<headers>
# 主体
<entity-body>

MIME(Content-Type)

  • 语法
    type/subtype

也就是headers中设置的 content-type

原始格式:raw

原始数据格式,可以用于传输任意类型的数据。它没有特定的结构或编码方式,可以根据具体需求自由定义数据的格式和内容

文本:text/xxx

表明文件是普通文本,理论上是人类可读

text 文件类型若没有特定的 subtype,就使用 text/plain

text/plain

纯文本格式,用于传输简单的文本数据,如纯文本文件或邮件正文

text/html

html文本

text/css

text/javascript

text/xml

xml文本

二进制:application/xxx

二进制文件没有特定或已知的 subtype,即使用 application/octet-stream

application/octet-stream

通用的二进制数据格式,用于传输任意类型的二进制数据,如图像、音频、视频等。

binary

二进制数据格式,用于传输二进制文件或图像等非文本数据。二进制数据以字节流的形式传输,适用于需要高效传输大量数据的场景。

msgpack

二进制序列化格式,用于高效地将数据编码为二进制形式进行传输和存储。它比 JSON 更紧凑,序列化和反序列化速度更快,适用于对性能要求较高的场景。

application/json

GraphQL

用于数据查询和操作的查询语言和运行时环境。GraphQL 允许客户端精确地指定需要的数据,并返回与请求相匹配的结果。它提供了更灵活的数据查询和响应机制,适用于构建高度可定制的 API。

案例:
POST / HTTP/1.1
Host: www.example.com
Content-Type: application/json
Content-Length: 27{"query": "query ($id: ID!) { user(id: $id) { name, email } }","variables": { "id": "123" }
}

application/xml

application/pdf

application/zip

表单相关:

表单数据: key-value

form-data

将数据以键值对的形式发送,并支持文件上传

multipart/form-data

与 form-data 类似,但支持同时上传多个form-data
用一个固定边界值(Boundary)分隔
每个部分的表单都可以有不同的格式

案例:

POST / HTTP/1.1
Host: example.com
Content-Length: 386
# 请求头 - 必须,指定Content-Type为multipart/form-data,指定boundary边界值
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW# 请求体:
# 每个form-data都以 --boundary开头
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="stringkey" # name是表单key的URL编码stringvalue # 表单value
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="intkey"1
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="filekey"; filename="file" # 文件有filename表示文件的名称
Content-Type: <Content-Type header here> # 单独定义Content-Type:指定文件 MIME 类型(data) # 文件的二进制数据
------WebKitFormBoundary7MA4YWxkTrZu0gW-- # --boundary-- 作为结束标志

application/x-www-form-urlencoded

将表单数据编码为 URL 参数。数据以键值对的形式发送,键值对之间使用 & 符号分隔,键和值之间使用 = 符号分隔。

案例:

POST /api/login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencodedusername=john&password=123456

常用文件

.xls文件

application/vnd.ms-excel

.xlsx文件

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

.doc

application/msword

.docx

application/vnd.openxmlformats-officedocument.wordprocessingml.document

.ppt

application/vnd.ms-powerpoint

图片 image/jpeg、image/png、image/gif

音频 audio/mpeg、audio/wav、audio/ogg

视频 video/mp4、video/avi、video/mpeg


http://www.ppmy.cn/news/633554.html

相关文章

Elasticsearch:删除快照安全吗?

快速回答&#xff1a;是的&#xff01; 删除快照是安全的&#xff0c;因为每个快照在逻辑上都是独立的。 了解如何以及为何可以继续阅读。 Elasticsearch 使用增量快照&#xff0c;使你能够高效地备份和恢复数据。 你可以在这篇精彩的文章中找到它的工作原理 “Elasticsearch&…

魅蓝E 刷android,魅蓝e怎么root,或者怎么刷成android系统

魅蓝E怎么Root&#xff1f; 魅蓝E手机刚刚发布没多久&#xff0c;现在&#xff0c;不少用户已经入手了这部手机。而在ROOT方面&#xff0c;魅蓝手机ROOT比较简单&#xff0c;因为系统自带了ROOT工具&#xff0c;无需借助第三方工具即可快速获取手机最高权限。那么&#xff0c;魅…

Android Studio 使用魅族手机调试时,不显示 Log 的解决方法

今天用我的 MX6 进行调试时&#xff0c;发现几乎没有 log 信息。记得以前调试的时候是有的&#xff0c;捣鼓半天死活没有&#xff0c;重启 As 和进入 Device Moniter 都没解决。然后上网找发现可能是 Flyme 在搞事情&#xff0c;按照网上提供的方法设置之后&#xff0c;果然好了…

魅族mac用户驱动程序_魅族手机怎么连接MAC OS电脑?

展开全部 OSX平台&#xff0c;需32313133353236313431303231363533e78988e69d8331333365646339要安装Android File Transfer&#xff0c;在手机内置光盘(设置-关于手机-存储-连接方式-内置光盘)里面会有&#xff0c;然后用数据线连上电脑。也可以在网站上下载。 Mac OS是一套运…

魅族 m57a 能刷android 吗,意想不到,魅族加入华为鸿蒙阵营

原标题&#xff1a;意想不到&#xff0c;魅族加入华为鸿蒙阵营 5月28日&#xff0c;“魅族智享生活”官微在中午12点发布了“你好&#xff0c;鸿蒙”的微博&#xff0c;宣布魅族智能产品加入华为的鸿蒙阵营。 接入华为鸿蒙的&#xff0c;应该是魅族Lipro智能家居的IoT产品&…

魅族面试

一面技术面&#xff0c;针对简历实习项目问用到什么技术&#xff0c;有没有可优化的地方&#xff0c;有没有遇到什么困难。 与js界面对接的层&#xff0c;用到什么框架&#xff0c;比如是使用SpringMVC的话&#xff0c;需要做什么配置。 问对Java有哪些了解?面向对象&#xff…

Java的基本程序设计结构

一、控制流程 if-else &#xff1a; 判断语句 while循环&#xff1a;循环体中可能一次都不执行 do-while循环&#xff1a;循环体至少执行一次 for循环 foreach循环&#xff1a; for&#xff08;元素类型type 元素变量value &#xff1a;遍历对象obj&#xff09; { 引用x的java语…

魅族适配android9.0,魅族安卓7.0适配进度公布:9款机型正在适配,但BUG有点多

此前小雷(微信ID&#xff1a;leitech)曾报道过魅族为旗下手机适配安卓7.0的消息&#xff0c;近日&#xff0c;魅族公布了适配的最新进度&#xff0c;整体来看能按照计划推送更新&#xff0c;但bug也不少。 目前适配的这9款机型分别为魅族Pro 6、Pro 6s、MX 6、Pro 6Plus、魅蓝N…