专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

contenttype有哪些类型,contenttype常见类型介绍

来源:小易整编  作者:小易  发布时间:2023-03-21 08:30
摘要:contenttype有哪些类型,contenttype常见类型介绍Content-Type的定义HTTP的实体首部字段,用于说明请求或返回的消息主体是何种方式编码,在requestheader(请求头)和responseheader(响应...

 contenttype有哪些类型,contenttype常见类型介绍

contenttype有哪些类型,contenttype常见类型介绍

Content-Type 的定义

HTTP 的实体首部字段,用于说明请求或返回的消息主体是何种方式编码,在 request header(请求头) 和 response header(响应头) 里存在。

几种常见的类型:

  • application/x-www-form-urlencoded

  • multipart/form-data

  • application/json

  • text/xml

application/x-www-form-urlencoded

浏览器的原生 form 表单,如果不设置属性,那么最终就会以application/x-www-form-urlencoded方式提交数据,请求如上面的形式:

POST http://www.baidu.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

这种方式提交的数据放在 body 里面,数据按照key1=val1&key2=val2的方式进行编码,key 和 val 都进行了 url 编码

multipart/form-data

该种方式也是一种常见的 POST 提交方式,通常表单上传文件时使用这种方式

使用表单上传时,必须让 form 的 enctype 等于这个值

<form action="/" method="post" enctype="multipart/form-data">
  <input type="text" name="description" value="some text" />
  <input type="file" name="myFile" />
  <button type="submit">Submit</button>
</form>

在请求头这里看起来是这样:

POST /foo HTTP/1.1
Content-Length: 68137
Content-Type: multipart/form-data; boundary=---------------------------
974767299852498929531610575
---------------------------974767299852498929531610575
Content-Disposition: form-data; name="description"
some text
---------------------------974767299852498929531610575
Content-Disposition: form-data; name="myFile"; filename="foo.txt"
Content-Type: text/plain
(content of the uploaded file foo.txt)
---------------------------974767299852498929531610575--

稍微分析下:

首先生成一个 boundary 用于分割不同的字段,为了避免与正文内容重复,boundary 很长很复杂

然后 content-Type 里指明了数据是以 multipart/from-data 来编码,本次请求的 boundary 是什么内容

消息主体里按照字段个数又分为多个结构类似的部分,每部分都是以 --boundary开始,紧接着是内容描述信息,然后是回车,最后是字段具体内容(文本或二进制)

如果传输的是文件,还要包含文件名和文件类型信息。消息主体最后以--boundary-- 标识结束。

关于 multipart/form-data 的详细定义,可前往 rfc1867 查看

application/json

application/json 作为响应头,现在越来越多的人把其作为请求头,用来告诉服务器消息主体是序列化后的 json 字符串。请求类似下面形式

POST http://www.example.com HTTP/1.1
Content-Type: application/json;charset=utf-8
{"title":"test","sub":[1,2,3]}

这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口。各大抓包工具如 chrome 自带的开发者工具、Firebug、Fiddler,都以树形结构展示 JSON 数据,非常友好。

text/xml

该种方式主要用来提交 XML 格式的数据,请求形式如下:

POST http://www.example.com HTTP/1.1
Content-Type: text/xml
<?xml version="1.0"?>
<methodCall>
    <methodName>examples.getStateName</methodName>
    <params>
        <param>
            <value><i4>41</i4></value>
        </param>
    </params>
</methodCall>

显然在 API 方面,现在 JSON 大有取代 XML 的意思,但是 XML 依然有其不可代替的领域。



本文地址:百科问答频道 https://www.neebe.cn/wenda/935429.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • 文件系统类型是什么意思?

    文件系统类型是什么意思?

    文件系统类型是用于存储、组织和管理计算机数据的一种系统格式。文件系统的主要功能是将数据存储到磁盘上,并使用目录结构管理数据,以方便访问和使用。常见的文件系统类型包括FAT、NTFS、EXT、HFS+等。FAT(文件分配表)是一种早期的文件...

  • 什么是SmartArt以及它的8个类型的介绍

    什么是SmartArt以及它的8个类型的介绍

    Word2010中的SmartArt包括8种类型,分别介绍如下:1.列表型:显示非有序信息或分组信息,主要用于强调信息的重要性,如图2011061201所示。图2011061201列表型SmartArt2.流程型:表示任务流程的顺...

  • 软路由如何解决游戏中的NAT类型问题

    软路由如何解决游戏中的NAT类型问题

    软路由在解决游戏中的NAT类型问题方面提供了多种解决方案。通过启用UPnP或NAT-PMP、配置静态端口转发、使用DMZ主机或使用VPN,用户可以改善游戏连接的稳定性和可靠性,避免NAT类型问题带来的连接困扰。在进行在线游戏时,经常会遇到与...

  • 常见的服务器类型有哪些

    常见的服务器类型有哪些

    虽然一些专用服务器仅关注一个功能,但某些实现使用一个服务器用于多种用途。常见的服务器类型有Web服务器、邮件服务器、FTP服务器、身份验证服务器、游戏服务器、音频视频服务器等等。虽然一些专用服务器仅关注一个功能,但某些实现使用一个服务器用于...

  • 群晖NAS支持哪些RAID阵列类型

    群晖NAS支持哪些RAID阵列类型

    不同类型的RAID可提供不同级别的数据保护、存储功能及性能。群晖NAS支持的有SHR、Basic、JBOD、RAID0、RAID1、RAID5、RAID6、RAID10、RAIDF1这些阵列类型,不同RAID类型所需的硬盘数...

  • 2023类似炸弹人的游戏有哪些 5款炸弹人类型的游戏推荐

    2023类似炸弹人的游戏有哪些 5款炸弹人类型的游戏推荐

    相信你们小时候都玩过类似炸弹人的游戏吧。炸弹人作为小时候的童年回忆,那个时候只要周末双休,小伙伴们都会聚集在一起,然后在电脑上打开炸弹人,你炸我一下,我坑你一下,玩的超级开心。下面小编找到了几款跟炸弹人类似的游戏,接下来让我们一起来看一下吧...

  • 动漫游戏排行榜推荐 好玩的动漫类型手游有哪些2023

    动漫游戏排行榜推荐 好玩的动漫类型手游有哪些2023

    在2023最新的动漫游戏热门排行榜推荐中,各位玩家朋友可以体验到国内外顶级画师的风采,让每一个角色形象,都具有独特的外貌,给玩家留下特别第一印象,而且还融合了游戏中的剧情线定位,还原剧情中的形象,这一类动漫风格的游戏,是当下年轻最喜爱的画面...

  • 模拟的游戏排行榜2022 模拟类型手游推荐

    模拟的游戏排行榜2022 模拟类型手游推荐

    模拟类游戏一直很受市场喜爱,这种经营与收获的快感,让人非常“上瘾”,而且操作技术门槛低,用手指点一点即可,那么今天小编要带来的就是“模拟的游戏排行榜2022”,给小伙伴们推荐几款好玩的模拟游戏,如果你平常也喜欢这种类型,可一定不要错过今天的...

  • 周排行
  • 月排行
  • 年排行

精彩推荐