get、post、文件上传请求数据量最大限制问题

springboot项目,对get,post请求数据量有限制吗?

1:对于post请求来说:
1.1:数据量大小:
原则上post是默认无限制的,多大的数据都可以请求,
但是springboot内置的tomcat服务器,对这post请求做了默认限制,
maxPostsize为2m;

Tomcat的配置文件里取消POST大小限制,在conf目录下,server.xml文件,修改:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" 
      redirectPort="8443" maxPostSize="0"/>  

maxPostSize=”0”,即取消POST的大小限制;
Tomcat 7.0及之后的版本:负数才代表不限制(之前0及负数都代表不限制);

springboot内置了tomcat,因此也可以修改这个值:

server:
  tomcat:
    max-http-post-size: -1

1.2:请求参数个数
在启动类中加入如下代码:

@Bean
public TomcatServletWebServerFactory  mbeddedServletContainerFactory() {
        TomcatServletWebServerFactory  tomcatEmbeddedServletContainerFactory = new TomcatServletWebServerFactory ();
        
        tomcatEmbeddedServletContainerFactory.addConnectorCustomizers(connector ->{
            connector.setMaxParameterCount(Integer.MAX_VALUE);
        });
        
        return tomcatEmbeddedServletContainerFactory;
}

2:get请求限制
理论上GET请求数据长度没有限制的,真正起到限制的是浏览器对其长度进行了限制。
Google (chrome):URL最大长度限制为8182个字符。
Firefox (Browser):URL的长度限制为65,536个字符。

若是直接通过接口请求,那么url长度需要受到服务器的限制了,

tomcat 在server.xml中 修改maxHttpHeaderSize

<Connector connectionTimeout="20000" 
    port="8080" 
    protocol="HTTP/1.1" 
    redirectPort="8443" 
    maxPostSize="0" 
    maxHttpHeaderSize ="102400"/> 

在springboot中也可以修改:

# 设置请求参数过长
server.max-http-header-size=102400

3:文件上传大小限制
可以通过配置方式修改:

# 开启文件上传
spring.servlet.multipart.enabled=true
# 单个文件上传最大值
spring.servlet.multipart.max-file-size=1MB
# 单个请求最大限制
spring.servlet.multipart.max-request-size=1MB

也可以通过代码修改,在启动类中增加: 

   @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //单个文件最大
        factory.setMaxFileSize(DataSize.ofMegabytes(5));
        /// 设置总上传数据总大小
        factory.setMaxRequestSize(DataSize.ofMegabytes(5));
        return factory.createMultipartConfig();
    }

原文:https://blog.csdn.net/u010953880/article/details/115390732

猜你喜欢

转载自blog.csdn.net/Aplumage/article/details/120725138
今日推荐