Is there a limit of the size of response I can rea

2019-05-16 08:56发布

I have a java program, that calls a url. The response of url is a json/string. I have to write a program that fetches the data from this url, but I was wondering if there's a limit on the max size HTTP can pass back?

I was going to write my server side (url) in such a way that it fetches all the data from db, but if there's a limit on the size I can fetch from server, I can do the read in batches also?

So, is there a limit on the size of the response I can send over HTTP from server to my java program?

Also, I came across this link. The last response talks about the size being equal to int, and I am not sure what that means. If someone can explain.

Thanks

2条回答
2楼-- · 2019-05-16 09:15

There is no technical limit to the size of a HTTP body.

In the link you refer to it seems a limit imposed by a specific object that parses the HTTP because the object uses an int for the size, this is of course possible but not related to the HTTP protocol.

In HTTP you always have to give a content-length to the other side (is both for request & response), if your response is really large, it is up to the client to process it in an acceptable way (e.g. stream it directly to a file backend).

Chunking is nice but it is only meant for when you (the one sending the large response) don't know the actual total size of your response until you have streamed it. If you know the size beforehand, use the content-length header.

查看更多
一纸荒年 Trace。
3楼-- · 2019-05-16 09:35

you can consume the response in chunks i.e if the response is 8 mb you can consume 1mb at a time

here is the example http://mrbool.com/keep-alive-connections-and-chunked-response-in-http-1-1-with-java/27915

查看更多
登录 后发表回答