【问题标题】:Is there a limit of the size of response I can read over HTTP我可以通过 HTTP 读取的响应大小是否有限制
【发布时间】:2014-12-05 17:05:47
【问题描述】:

我有一个调用 url 的 java 程序。 url 的响应是一个 json/string。我必须编写一个从该 url 获取数据的程序,但我想知道 HTTP 可以传回的最大大小是否有限制?

我打算以这样一种方式编写我的服务器端 (url),以便从 db 中获取所有数据,但是如果我可以从服务器获取的大小有限制,我也可以批量读取吗?

那么,我可以通过 HTTP 从服务器发送到我的 java 程序的响应的大小是否有限制?

另外,我遇​​到了this link. 最后一个回复说大小等于 int,我不确定这是什么意思。如果有人能解释一下。

谢谢

【问题讨论】:

    标签: java http httpresponse


    【解决方案1】:

    HTTP 正文的大小没有技术限制。

    在您所指的链接中,似乎是由解析 HTTP 的特定对象施加的限制,因为该对象使用 int 作为大小,这当然是可能的,但与 HTTP 协议无关。

    在 HTTP 中,您总是必须给对方一个内容长度(用于请求和响应),如果您的响应真的很大,则由客户端以可接受的方式处理它(例如流它直接到文件后端)。

    分块很好,但它仅适用于您(发送大响应的人)在流式传输之前不知道响应的实际总大小的情况。如果您事先知道大小,请使用 content-length 标头。

    【讨论】:

      【解决方案2】:

      您可以分块使用响应,即如果响应为 8 mb,您一次可以消耗 1mb

      这是一个例子 http://mrbool.com/keep-alive-connections-and-chunked-response-in-http-1-1-with-java/27915

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-23
        • 1970-01-01
        • 2016-10-13
        • 2020-11-02
        • 2011-11-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多