问题原因
Springboot get请求是参数过长抛出异常:Request header is too large 的问题
错误描述
java.lang.IllegalArgumentException: Request header is too large
解决方案
请求头超过了tomcat的限值。本来post请求是没有参数大小限制,但是服务器有自己的默认大小。
设置服务器大小:
1.普通tomcat
在server.xml中
处加上
maxHttpHeaderSize =”102400”
2.SpringBoot
SpringBoot项目更方便了,在application.properties文件中添加
#请求参数过长设置
server.max-http-header-size=102400
补充知识:JavaWeb - URL 中很长的一串请求参数,为什么不采用 POST 方式?
GET 方法
请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:
/test/demo_form.asp?name1=value1&name2=value2
有关 GET 请求的其他一些注释:
GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制
GET 请求只应当用于取回数据
POST 方法
请注意,查询字符串(名称/值对)是在