这是 3 个 POST 的wireshark 日志。所有发布相同的数据但具有不同的内容类型,导致在服务器上读取数据的方式不同。我试图了解如何创建 POST Z。
POST X 显式设置基于表单的帖子
给
POST Y 省略的内容类型
给
邮政Z?我的应用程序无法重现这一点。
给
我试图猜测最后一个 POST Z 中的内容类型(注意没有括号),这使得 post 参数显示为数据(并且显然没有数据类型)
谢谢~B
这是 3 个 POST 的wireshark 日志。所有发布相同的数据但具有不同的内容类型,导致在服务器上读取数据的方式不同。我试图了解如何创建 POST Z。
POST X 显式设置基于表单的帖子
给
POST Y 省略的内容类型
给
邮政Z?我的应用程序无法重现这一点。
给
我试图猜测最后一个 POST Z 中的内容类型(注意没有括号),这使得 post 参数显示为数据(并且显然没有数据类型)
谢谢~B
我试图猜测最后一个 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: 标头的实体主体。