以下是3个POST的wireshark日志。所有发布相同数据但具有不同内容类型的数据都会导致在服务器上读取数据的方式不同。我试图了解如何创建POST Z。
POST X 明确设置基于表单的帖子
给出
发布Y 省略内容类型
给出
POST Z ? 我的应用无法重现这一点。
给出
我试图猜测最后一个POST Z中的内容类型(注意没有括号),这使得post参数显示为数据(显然没有数据类型)
由于 〜乙
答案 0 :(得分:1)
我试图猜测最后一个POST Z中的内容类型(注意没有括号),这使得post参数显示为数据(显然没有数据类型)
内容类型可能是“无”。
您没有义务使用POST请求发送Content-Type:标头。 HTTP 1.1规范RFC 2616在section 7.2.1 "Type"中说明:
包含实体主体的任何HTTP / 1.1消息应该包括定义该主体的媒体类型的Content-Type头部字段。当且仅当媒体类型没有由Content-Type字段给出时,接收者可以尝试通过检查其内容和/或用于标识资源的URI的名称扩展来猜测媒体类型。如果媒体类型仍然未知,则收件人应该将其视为“application / octet-stream”类型。
它说应该,但不是必须的,所以发件人允许发送没有Content-Type:标头的实体主体。