请求有效负载和请求正文

时间:2014-02-27 13:22:13

标签: json rest request payload

我正在学习REST,在进行POST调用时,我发送的请求有效负载可以是XML或JSON格式。我想知道的是Request Payload和Request body是否意味着同样的事情?

5 个答案:

答案 0 :(得分:11)

定义:有效载荷:"实际数据"在数据包或文件中减去为传输而附加的所有标头,并减去所有描述性元数据。在网络数据包中,标头被附加到有效载荷以进行传输,然后在其目的地被丢弃。

编辑:在Http协议中,http数据包具有http标头和http有效负载。根据请求的类型(例如,POST与GET),http数据包的有效载荷部分可能有也可能没有主体。所以有效载荷和身体不是一回事。

答案 1 :(得分:5)

Payload是身体的“包装者”

有效负载是人们所拥有的。 paperboy的有效载荷是一堆报纸,HTTP POST请求的有效载荷是“正文”中的任何内容。

答案 2 :(得分:0)

RFC 7230中描述的

HTTP client/server messaging超文本传输​​协议(HTTP / 1.1):消息语法和路由定义资源元数据和表示元数据,并对有效负载进行区分正文和 message 正文(因为可以使用Transfer-Encoding标头字段中定义的编码对消息正文进行编码以进行传输):

  

大多数HTTP通信由一个检索请求(GET)组成,该请求代表由URI标识的某些资源。在最简单的情况下,这可以通过用户代理(UA)与原始服务器(O)之间的单个双向连接(===)来实现。

     request   >
UA ======================================= O
                            <   response
     

客户端以请求消息的形式向服务器发送HTTP请求,从包含方法,URI和协议版本的请求行开始(第3.1.1节),后跟包含请求修饰符的标头字段,客户信息和表示形式元数据(第3.2节),空行表示标头部分的末尾,最后是包含有效内容正文的消息正文(如果有) ,第3.3节)。

     

服务器通过发送一个或多个HTTP响应消息来响应客户端的请求,每个HTTP响应消息都以状态行开头,状态行包括协议版本,成功或错误代码以及文本原因短语(第3.1.2节),标题字段包含服务器信息,资源元数据和表示形式元数据(第3.2节),空行以指示标题部分的结尾,最后是包含有效内容正文的消息正文< / strong>(如果有,请参见第3.3节)。

在该RFC之后,HTTP message format(用于请求消息或响应消息)被汇总:

Start line<CR><LF>
Header fields<CR><LF>
<CR><LF>
Message body (optional)

其中是回车符,是换行符。

RFC 7231的abstract超文本传输​​协议(HTTP / 1.1):语义和内容给出了有效负载的定义:

  

超文本传输​​协议(HTTP)是分布式,协作式超文本信息系统的无状态应用程序级别协议。本文档定义了HTTP / 1.1消息的语义,由请求方法,请求标头字段,响应状态代码和响应标头字段以及消息的有效负载(元数据和主体内容)和内容协商机制。

所以我们可以得出结论,HTTP 有效载荷由以下组成:

    标头字段中包含
  • 元数据
  • 邮件正文中包含的
  • 数据(在进行传输编码之前)。

答案 3 :(得分:0)

Header 标识发送数据包的来源和目的地,而实际数据,即 Body 被称为 Payload

答案 4 :(得分:-1)

HTTP 消息的有效负载称为正文。 link1

HTTP 消息有效负载正文是在应用传输编码之前在 HTTP 消息正文(如果有)中发送的数据的信息(“有效负载”)部分。 如果未使用传输编码,有效载荷正文和消息正文是一回事! link2

所以基本上 HTTP 消息正文和 HTTP 消息有效负载正文之间的唯一区别是编码(但仅当存在时)。因此概括术语请求有效载荷 = 请求正文。