2014-12-05 40 views
1

我有一个java程序,它调用一个url。 url的响应是一个json /字符串。我必须编写一个从这个URL获取数据的程序,但是我想知道HTTP可以传回的最大大小是否有限制?是否有可以通过HTTP读取的响应大小的限制

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

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

此外,我碰到了this link.最后一个回应谈论的大小等于int,我不知道这意味着什么。如果有人能解释。

感谢

回答

5

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

在引用的链接中,似乎是由分析HTTP的特定对象施加的限制,因为对象使用int来表示大小,这当然可能但与HTTP协议无关。

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

分块虽然不错,但它只适用于您(发送较大响应的分组)不知道您的响应的实际总大小,直到您完成流式传输为止。如果您事先知道大小,请使用content-length标题。

-1

我不确定,但假设这取决于您的网络服务器。

E.g. Jetty具有默认的最大表单大小。 你可以否决它如下:

import org.mortbay.jetty.handler.ContextHandler; 

public class MyServlet extends javax.servlet.http.HttpServlet 
{ 
    public void MyServlet 
    { 
    init(); 
    } 

    public void init() throws UnavailableException 
    { 
    // SET A NEW MAXIMUM FORM SIZE 
    ServletContext context = getServletContext().getContext("/"); 
    ContextHandler handler = ((ContextHandler.SContext) context).getContextHandler(); 
    handler.setMaxFormContentSize(600000); // default = 200 000 
    } 
} 
+0

好奇,为什么这得到downvoted真的。有些意见? – bvdb 2018-02-14 09:18:27

相关问题