gpt4 book ai didi

java - 如何在 Google App Engine 中检测 HTTP 响应大小

转载 作者:行者123 更新时间:2023-12-01 05:43:11 25 4
gpt4 key购买 nike

我正在使用 Java 为 Google App Engine 编写一个应用程序。某个 Servlet 生成的响应可能会超过 32 MB 的限制。在开发服务器上,这似乎不会引起任何问题。在生产服务器上,我需要一种方法将响应拆分为多个请求。

我想知道超出限制时生产服务器上会发生什么。当超出限制时,PrintWriter 是否抛出 IOException ?或者仅当 servlet 终止时才抛出异常?理想情况下,我希望能够在附加每个部分之前计算总响应大小(无需自己计算字节,因为我不知道 HTTP header 的大小),以便我可以正确清理响应的末尾响应(即附加“}”以完成 JSON 对象)。或者有更好的方法来处理这种情况吗?

最佳答案

尼克是对的,当前响应大小限制为 32MB。

应用引擎会缓冲响应数据,因此在代码运行完毕之前它不会看到您的响应,因此它无法引发异常或以其他方式发出代码可以捕获的错误信号。相反,它会向客户端返回 500,其正文如下:

HTTP 响应太大:34000134。限制为:33554432。

您可以通过在 http://shell.appspot.com/ 中运行它来亲自尝试一下:

打印“x”* 34 * 1000 * 1000

关于java - 如何在 Google App Engine 中检测 HTTP 响应大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6604452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com