0

这是 3 个 POST 的wireshark 日志。所有发布相同的数据但具有不同的内容类型,导致在服务器上读取数据的方式不同。我试图了解如何创建 POST Z。

POST X 显式设置基于表单的帖子

在此处输入图像描述

在此处输入图像描述

POST Y 省略的内容类型

在此处输入图像描述

在此处输入图像描述

邮政Z?我的应用程序无法重现这一点。

在此处输入图像描述

在此处输入图像描述

我试图猜测最后一个 POST Z 中的内容类型(注意没有括号),这使得 post 参数显示为数据(并且显然没有数据类型)

谢谢~B

4

1 回答 1

1

我试图猜测最后一个 POST Z 中的内容类型(注意没有括号),这使得 post 参数显示为数据(并且显然没有数据类型)

内容类型可能是“无”。

您没有义务通过 POST 请求发送 Content-Type: 标头。HTTP 1.1 规范RFC 2616第 7.2.1 节“类型”中说:

任何包含实体主体的 HTTP/1.1 消息都应该包含定义该主体的媒体类型的 Content-Type 头字段。当且仅当媒体类型不是由 Content-Type 字段给出时,接收者可以尝试通过检查其内容和/或用于识别资源的 URI 的名称扩展来猜测媒体类型。如果媒体类型仍然未知,接收者应该将其视为类型“application/octet-stream”。

它说应该,而不是必须,因此允许发送者发送没有 Content-Type: 标头的实体主体。

于 2013-05-07T20:29:23.293 回答