使用代码304的Slim.php`halt`方法不会打印响应正文

时间:2015-07-07 17:08:54

标签: php slim

当我拨打$app->halt(200, "Lorem ipsum");或304之外的任何其他状态代码时,它会使用正确的状态代码进行响应并打印出正文。但是使用相同的代码,只需将200更改为304 $app->halt(304, "Lorem ipsum");,返回的状态代码为304,但正文为空。

这个问题的原因是什么?我怎么能用响应代码304打印出响应体?

1 个答案:

答案 0 :(得分:3)

您不能拥有304的身体。来自规范

  

10.3.5 304未修改

     

如果客户端执行了条件GET请求并且访问权限是   允许,但文件尚未修改,服务器应该   回复此状态代码。 304响应不得包含   message-body,因此始终由第一个空行终止   在标题字段之后。