具有空正文的 HTTP 请求/响应和没有正文的请求/响应之间有实际区别吗? HTTP 规范的任何版本是否区分两者,或者两者是否等效?
我想定义两种情况之间的差异也很有用。据我了解,空的主体有一个
Content-Type
标头,而缺席的主体则没有。如果我错了请随时纠正我。
是的,空主体可能(或可能没有)有
Content-Type
标题。根据您向其发送请求的应用程序,可以以相同或不同的方式对待它们。
空的身体仍然可以发挥多种作用。想象一下一项调查,其中所有字段都是可选的。空正文表明一个人故意决定将它们全部留空,并且应用程序所有者可以例如将所有这些字段标记为“用户宁愿不回答”,同时忽略缺少的响应正文。
对于同一情况(可选字段调查)的另一个有用的含义是,即使您有一个空正文,任何有权访问 POST 请求的人都将能够看到它被编码为
application/x-www-form-urlencoded
,所以即使如果请求为空,则很清楚应该在填写的表格上接收哪种数据,而缺席的机构不会提供此类信息。