使用Content-Type正确响应HTTP GET

时间:2015-08-06 16:37:43

标签: http get content-type

内容类型的HTTP GET的正确响应是什么?我们应该回复错误还是应该忽略Content-Type并处理请求?

1 个答案:

答案 0 :(得分:1)

根据RFC 7231 section 3.1.1.5

  

生成包含有效负载主体的消息的发送方应该是   除非该消息,否则在该消息中生成Content-Type头字段   所包含的表示的预期媒体类型是未知的   发件人。如果Content-Type标头字段不存在,则为收件人   可以假设媒体类型为" application / octet-stream"   ([RFC2046],第4.5.1节)或检查数据以确定其类型。

因此,在请求中具有" body"(有效负载)的任何内容都应该传入Content-type。

GET,DELETE,HEAD,OPTIONS通常没有这样的有效载荷。但是might。因此,根据请求方法确定是否存在身体不是一种非常安全的方式。

如果你的服务器收到一个GET,并且它有一个正文,而且该正文不是application/octet-stream那么它应该有一个Content-Type标题。当您收到此类请求时,可以安全地发送406 - Not Accepted

另一方面,如果您的服务器在GET上没有处理正文,那么发送406 - Not Accepted也是安全的。