6

我想出了一个艰难的方法,即在开始将响应主体写入输出缓冲区之后,不可能添加更多的标头HttpServletResponse,我想在一些随机的宇宙中可能是有意义的,即使一切仍然只是缓冲在内存中.

现在的问题是:有什么技巧可以以某种方式规避这个问题吗?显然,由于该功能resetBuffer()可用,它允许在不清除标题的情况下清除内容主体,因此必须有某种方法使HttpServletResponse对象返回到可以写入更多标题的状态。例如,是否有一种方法可以读取内容正文,使用 清除它resetBuffer(),设置更多标题,然后恢复内容正文?

旁白:我想这样做的原因是我可以添加一个标头作为我的 servlet 中最好的最后一步,它告诉我服务器忙于处理请求的时间。

4

1 回答 1

5

您唯一的选择是自己缓冲响应体;正文完成后,然后添加标题,然后编写正文。

有趣的是,HTTP/1.1 有一种方法可以在响应正文之后发送一个标头,通过在分块编码中使用预告片,但是没有人实现它,所以不要打扰。

于 2012-11-23T23:25:14.947 回答