Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
内容类型为的HTTP GET的正确响应_Http_Get_Content Type - Fatal编程技术网

内容类型为的HTTP GET的正确响应

内容类型为的HTTP GET的正确响应,http,get,content-type,Http,Get,Content Type,使用内容类型的HTTP GET的正确响应是什么?我们应该以错误响应,还是应该忽略内容类型并处理请求?根据: 生成包含有效负载正文的消息的发送方应 在该消息中生成内容类型标头字段,除非 用户不知道所附表示的预期媒体类型 发件人。如果内容类型标题字段不存在,则收件人 可以采用“应用程序/八位字节流”的媒体类型 ([RFC2046],第4.5.1节)或检查数据以确定其类型 因此,任何在请求中具有“body”(有效负载)的内容都应该传入内容类型 GET、DELETE、HEAD和OPTIONS通常没有这样

使用内容类型的HTTP GET的正确响应是什么?我们应该以错误响应,还是应该忽略内容类型并处理请求?

根据:

生成包含有效负载正文的消息的发送方应 在该消息中生成内容类型标头字段,除非 用户不知道所附表示的预期媒体类型 发件人。如果内容类型标题字段不存在,则收件人 可以采用“应用程序/八位字节流”的媒体类型 ([RFC2046],第4.5.1节)或检查数据以确定其类型

因此,任何在请求中具有“body”(有效负载)的内容都应该传入内容类型

GET、DELETE、HEAD和OPTIONS通常没有这样的有效负载。但是这个。因此,根据请求方法来确定是否存在主体不是一种非常安全的方法

如果您的服务器接收到GET,并且它有一个主体,而该主体不是
应用程序/octet流
,那么它应该有一个
内容类型
头。当您收到此类请求时,可以安全地将
406-不接受
发回


另一方面,如果您的服务器没有处理GET上的正文,那么将
406-不接受
发送回也是安全的。

从技术上讲,GET上有内容类型是不正确的,因为GET没有“正文”,因此不能有任何内容。如果您想拒绝一个明显格式错误的请求,请直接进行。@MarcB我想确认一下,因为规范没有提到它。谢谢你的回复。