我有一个java程序,它调用一个url。 url的响应是json / string。我必须编写一个从这个URL获取数据的程序,但我想知道HTTP可以传回的最大大小是否有限制?
我打算以这样的方式编写我的服务器端(url),它从db获取所有数据,但是如果我可以从服务器获取的大小有限制,我也可以批量读取吗?
那么,我可以通过HTTP从服务器发送到我的java程序的响应大小有限制吗?
另外,我遇到this link.最后一个回复谈到大小等于int,我不确定这意味着什么。如果有人可以解释。
由于
答案 0 :(得分:8)
HTTP正文的大小没有技术限制。
在您引用的链接中,它似乎是由解析HTTP的特定对象强加的限制,因为该对象使用int作为大小,这当然是可能的,但与HTTP协议无关。
在HTTP中,您始终必须向另一方提供内容长度(同时用于请求和响应),如果您的响应非常大,则由客户端以可接受的方式处理它(例如,将其直接传输到文件后端。)
分块很好但是它只适用于你(发送大响应的那个)在你流式传输之前不知道你的响应的实际总大小。如果您事先知道大小,请使用内容长度标题。
答案 1 :(得分:0)
你可以以块的形式使用响应,例如,如果响应是8 mb,你可以一次消耗1mb
这是一个例子 http://mrbool.com/keep-alive-connections-and-chunked-response-in-http-1-1-with-java/27915