keyword: request
GET 请求
设置 Tomcat 的 server.xml。找到我们启动的端口,通常是8080,增加 maxHttpHeaderSize=“102400”,值可以根据自身情况进行配置。
POST 请求
与 get 相同,找到端口,配置 maxPostSize=-1 取消对 post 的限制。在 Tomcat 7.0.63之前,设置为 0或 -1,在7.0.63之后的版本中,设置为负数表示不限制。
注意
绕过 Post 限制
However, since Servlet 3.0, if your application requires large file uploads, consider posting them as multipart/form-data
and use the @MultipartConfig
annotation (cf. Jakarta EE tutorial). The request parameters transmitted as files do not count towards the maxPostSize
limit and are written to a temporary file whenever they are larger than a configurable limit.
但是,从 Servlet 3.0 开始,如果您的应用程序需要上传大文件,请考虑将它们发布为 multipart/form-data
并使用 @MultipartConfig
注释(参见 Jakarta EE 教程)。作为文件传输的请求参数不计入 maxPostSize
限制,只要它们大于可配置的限制,就会写入临时文件。
Therefore you might approximately consider maxPostSize
as the maximum heap memory required to store the parameters of a request.
因此,您可以大致将 maxPostSize
视为存储请求参数所需的最大堆内存。
源码
org.apache.catalina.connector.Request#parseParameters
可以通过 org.apache.catalina.connector.Request#getAttribute
然后传入
org.apache.catalina.Globals#PARAMETER_PARSE_FAILED_ATTR
org.apache.catalina.Globals#PARAMETER_PARSE_FAILED_REASON_ATTR
获取真实的原因
Spring 请求大小配置
#文件请求大小
spring.server.MaxFileSize=300MB
spring.server.MaxRequestSize=500MB
spring.http.multipart.maxFileSize=10Mb
spring.http.multipart.maxRequestSize=10Mb