【问题标题】:Is there a max size for POST parameter content?POST 参数内容是否有最大大小?
【发布时间】:2011-02-25 23:22:21
【问题描述】:

我正在对使用 HTTP POST 和 Servlet 在两个系统之间发送 XML 的 Java 应用程序进行故障排除。我怀疑问题在于 XML 变得太大了。这可能是问题吗?有限制吗?

当它不起作用时,消费者端的request.getParameter("message") 将返回null。这两个应用程序都在 TomCat 上运行。例如,大小为 1.73mb 的 XML 文档将无法通过。

【问题讨论】:

    标签: tomcat servlets http-post


    【解决方案1】:

    是的,最大 2MB,可以通过像这样的配置更改来增加。如果您的 POST 正文不是多部分文件的形式,那么您可能需要在应用程序 yml 配置文件中添加 tomcat 的 max-http-post 配置。

    将每个多部分文件的最大大小增加到 10MB,总负载大小最大为 100MB

     spring:
        servlet:
          multipart:max-file-size: 10MB
          multipart:max-request-size: 100MB
     
    

    将可能只是字符串格式的表单数据的发布请求的最大大小设置为 ~10 MB

     server:
        tomcat:
            max-http-post-size: 100000000 # max-http-form-post-size: 10MB for new version
    

    您可能需要为最新的 sprintboot 版本添加这个 ->

    服务器: 雄猫: 最大http-form-post-size:10MB

    【讨论】:

      【解决方案2】:

      可能存在限制,具体取决于服务器和/或应用程序配置。 For Example, check

      【讨论】:

        【解决方案3】:

        根据this<Connector> 的默认值为 2 MB。

        maxPostSize = 将由容器 FORM URL 参数解析处理的 POST 的最大大小(以字节为单位)。可以通过将此属性设置为小于或等于 0 的值来禁用此限制。如果未指定,则此属性设置为 2097152(2 兆字节)。

        编辑 Tomcat 的 server.xml。在<Connector> 元素中,添加属性maxPostSize 并设置更大的值(以字节为单位)以增加限制。

        话虽如此,如果这是问题所在,您应该在 Post data too big在tomcat中

        For Further Info

        【讨论】:

        • 感谢您的回答。我设法让它工作。我没有发现任何异常,但据我所知,它可能是在这个遗留地牢的某个地方被发现的
        • 我确实遇到了同样的问题,但我认为我使用 jboss 4 没有收到上述错误。再说一次,我可能只是忽略了它
        • 是否可以在我的应用程序中指定此限制,而不是编辑 tomcat 的 server.xml ?
        • 在我的 Tomcat 8 中,maxPostSize=0 的值并不意味着“无限”。值 -1 就可以了。
        【解决方案4】:

        HTTP POST 请求没有定义的最大大小。如果您注意到这样的限制,那么这是您的 HTTP 服务器/客户端的任意限制。

        如果你告诉 XML 有多大,你可能会得到更好的答案。

        【讨论】:

        猜你喜欢
        • 2021-04-14
        • 1970-01-01
        • 2018-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多