繁体   English   中英

jQuery或JavaScript ajax get方法的返回值的大小限制?

[英]Size limit for the return value of a jQuery or JavaScript ajax get method?

当我使用ajax GET方法时,返回值是否有大小限制?

如果是这样,此限制是否归因于JavaScript / jQuery? 到浏览器? 到服务器?

我看过较早的文章(超过5年)似乎表明存在大小限制,但是我找不到有关此主题的任何最新信息。

是的,有一个限制。 它取决于体系结构和可用内存。 在具有2G和64位版本的x86_64机器上,它将因InternalError而失败:脚本堆栈空间配额已用尽,但是在具有4G和64位版本的x86_64上,它将通过。

因此,最终取决于运行和托管脚本的计算机来有效地处理请求。

如果收到InternalError Script Stack消息,则仅表示您需要升级的硬件才能运行请求。

“控制”此方法的方法是执行所谓的“限制”。 有关此内容,请参见另一个堆栈以供参考: 如何对ajax请求进行速率限制?

HTTP协议没有限制任何响应的大小,jQuery本身也没有。 因此,从理论上讲,您可以使GET响应随心所欲。

然而在实践中,也一些限制:Web服务器可能有一个最大响应大小(特别是当你的缓存整个响应),服务器的代码可能需要需要额外的存储中间处理步骤中,客户需要存储的响应数据在处理它之前,浏览器上的javascript实现可能会有额外的内存限制(您不希望恶意脚本吞​​噬所有物理RAM:这将是一个严重的安全问题)。 确切地说,到底有多少是很难确定的:几兆字节可能还可以,太字节肯定不行。

请注意,在这种情况下,请求方法非常有趣。 上述问题对于POST请求或其他任何HTTP动词的响应同样有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM