专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

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 依然有其不可代替的领域。



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


IT百科
小编:小易整编
相关文章相关阅读
  • .exe是什么文件类型

    .exe是什么文件类型

    .exe文件是可执行文件的扩展名之一,表示这些文件包含程序代码和数据,可以在计算机中直接执行。.exe是可执行文件的扩展名,可执行文件是包含程序的文件,也就是能够作为计算机中的程序执行或运行的特定类型的文件。可执行文件可以由Microsof...

  • 类选择器有哪些类型

    类选择器有哪些类型

    类选择器类型有基本类选择器、多类选择器、层次类选择器、子元素类选择器、相邻兄弟类选择器、通用兄弟类选择器、属性值类选择器和否定类选择器等。详细介绍:1、基本类选择器,使用点号开头的选择器,表示选取具有指定类名的元素;2、多类选择器,使用多个...

  • SQL中的有哪几种数据类型

    SQL中的有哪几种数据类型

    sql中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型简要描述一下sql中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型字符型VARCHAR和CHARVARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们...

  • 在 Windows 11上更改文件类型的 3种最简单方法

    在 Windows 11上更改文件类型的 3种最简单方法

    操作系统可以使用相应项目的文件扩展名识别和打开任何文件。但是,如果文件格式不正确,文件有时可能无法打开。因此,您需要更改文件类型以使Windows使用适当的应用程序打开它。在本文中,我们将为您提供有关如何更改文件类型Windows11...

  • 如何在 Windows 11/10 上更改文件类型

    如何在 Windows 11/10 上更改文件类型

    更改文件类型(扩展名)是一项简单的工作。但是,有时更简单的事情可能会变得棘手,更改文件扩展名就是其中之一。更改文件类型时应格外小心,因为一个简单的错误可能会使文件变砖并使其无法操作。因此,我们讨论了在windows11、10上更改文件...

  • typeof返回的数据类型有哪些

    typeof返回的数据类型有哪些

    typeof返回的数据类型有6种,分别为:1、object,对象类型;2、undefined,未定义类型;3、string,字符串类型;4、number,数字类型;5、boolean,布尔类型;6、function,函数类型。typeof...

  • umts是什么网络类型

    umts是什么网络类型

    umts是通用移动通信系统。umts作为一个完整的3g移动通信技术标准,umts并不仅限于定义空中接口。umts实现的前提是广泛使用gsm移动电话系统,属于2g技术。umts介绍:通用移动通信系统,简称UMTS(UniversalMobi...

  • 表中字段的数据类型有哪些

    表中字段的数据类型有哪些

    表中字段的数据类型有:1、二进制类型,包括binary、varbinary、image;2、字符串类型,包括char、varchar、text等;3、unicode数据类型,包括nchar,nvarchar和ntext;4、日期和时间数据类...

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

精彩推荐