写入响应正文后在 HttpServletResponse 上设置标头

2023-12-31

我发现了一个困难的方法,那就是不可能向一个HttpServletResponse在开始将响应主体写入输出缓冲区之后,我想在某些随机宇宙中这可能是有意义的,即使所有内容仍然只是缓冲在内存中。

现在的问题是:是否有一些技巧可以以某种方式规避这个问题?显然,由于函数resetBuffer()是可用的,它允许在不清除标题的情况下清除内容主体,必须有某种方法HttpServletResponse对象返回到可以写入更多标头的状态。例如,是否有一种方法可以读取内容主体,并用以下命令清除它:resetBuffer(),设置更多标题,然后恢复内容主体?

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


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

写入响应正文后在 HttpServletResponse 上设置标头 的相关文章

随机推荐