我有一个 Spring Boot 后端,我刚刚通过配置maxSwallowSize
Tomcat 属性从 Angular 前端上传文件时解决了“ERR_CONNECTION_RESET” 。我试图了解它究竟做了什么。Tomcat 文档对我来说并不明显:
Tomcat 将因上传中止而吞下的最大请求正文字节数(不包括传输编码开销)。中止上传是指 Tomcat 知道请求正文将被忽略但客户端仍会发送它。如果 Tomcat 没有吞下身体,客户端就不太可能看到响应。如果未指定,将使用默认值 2097152(2 兆字节)。小于零的值表示不应强制执行任何限制。
https://tomcat.apache.org/tomcat-8.0-doc/config/http.html
我能得到一些帮助吗?
如果您的 servlet 的service()
方法退出(正常或异常)而没有消耗整个客户端的请求正文,则 Tomcat 仍将maxSwallowSize
在重置连接之前接受字节。这是必需的,因为大多数浏览器仅在发送整个请求后才读取服务器的响应(参见此问题)。
要使用请求正文,您需要:
application/x-www-form-urlencoded
,则需要调用其中一种getParameter*
方法,multipart/form-data
,则需要调用其中一种getPart*
方法,InputStream
.未使用的请求正文通常是由错误引起的,包括参数或表单部分的解析错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句