RFC 2616未指定是否需要消息主体,我理解为可选项。省略消息主体有没有实际的危险性呢?
例如,在302状态码中省略消息主体是否会触发某些浏览器中的错误(或功能)?
需要一个body,但可以为空。请参见HTTPbis第1部分,第3.3节。
据我所知,规范描述了至少两个规则:
HEAD请求要求响应包含一个位置头。HEAD响应不应在响应主体中包含任何内容。
GET请求要求响应主体中至少包含一个带有描述的超链接。
你的计划只是填充位置头吗?
至于你提到的空主体响应GET请求是否存在实际危险的问题,我唯一能预见的问题是功能性的,即当用户关闭自动重定向时。机器人也可能期望超链接。正如@BalusC所提到的,您可以使用204 No Content响应作为替代方案。例如,如果用户正在以ajaxy方式更改您的应用程序中的内容,则客户端代码可以维护文档和实体状态,服务器可以响应204。但现在我正在超前地假设我对您的用例有一些了解。