问题原因:
请求头过大,我的错误原因是get请求url中拼接的参数过长,刚开始怀疑是url过长,查询发现每个浏览器对url都有最大长度限制如下
了解到各个浏览器对URL的长度限制如下:
- IE浏览器对URL的长度现限制为2048字节(自己测试最多为2047字节)。
- 360极速浏览器对URL的长度限制为2118字节。
- Firefox(Browser)对URL的长度限制为65536字节。
- Safari(Browser)对URL的长度限制为80000字节。
- Opera(Browser)对URL的长度限制为190000字节。
- Google(chrome)对URL的长度限制为8182字节。
原文链接
我的请求url字节数刚好是9000+,尝试更换opera浏览器再次尝试,仍然报400,此时发现idea中出现报错 java.lang.IllegalArgumentException: Request header is too large
解决办法:
1.在yml文件中添加配置
server:
max-http-header-size: 10000000
2.tomcat 需要在server.xml里面配置
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" maxHttpHeaderSize="1024000" #此值默认8192,即8k/>
完美解决!