解决Springboot get请求是参数过长的情况
作者:小白 2-0-1-9 时间:2023-11-27 16:45:37
问题原因
Springboot get请求是参数过长抛出异常:Request header is too large 的问题
错误描述
java.lang.IllegalArgumentException: Request header is too large
解决方案
请求头超过了tomcat的限值。本来post请求是没有参数大小限制,但是服务器有自己的默认大小。
设置服务器大小:
1.普通tomcat
在server.xml中
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="0" maxHttpHeaderSize ="102400"/>
处加上
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 方法
请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:
POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
有关 POST 请求的其他一些注释:
POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求
小雷FansUnion
get方式,是浏览器默认方式,访问简单,比如点击一个链接,直接就跳转了。
如果用post,还需要构造表单,程序实现麻烦,用户体验还会收到“不能重复提交表单”等提示,麻烦很多。
get方式,用户直接看到url和参数,复制粘贴,可以方便收藏、转发,而post不行。
网友看法 - 方腾飞
这个原因很多。在很多场景下,用GET实现起来更简单,也足够了,比如并发网给其他网站引流需要加些参数,这样方便其他网站统计流量来源,如果用POST,并发网就的做一个Post提交,会比较麻烦。
割眼看世界
浏览器地址栏打开的默认就是GET,所以链接用GET很方便。
POST的提交需要表单或js提交,麻烦。
GET可以使用缓存。
GET有利于SEO。
华仔的逆袭
Get方式的简洁和缓存比较能说服我。
来源:https://blog.csdn.net/weixin_45342958/article/details/105490608
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android AlertDialog(对话框)实例详解
![](https://img.aspxhome.com/file/2023/6/126776_0s.jpg)
分享C#中几个可用的类
![](https://img.aspxhome.com/file/2023/5/81065_0s.png)
C#函数式编程中的标准高阶函数详解
![](https://img.aspxhome.com/file/2023/3/85673_0s.png)
java中dart类详细讲解
详解C#如何实现隐式类型转换
深入了解ViewPager2的使用
![](https://img.aspxhome.com/file/2023/3/100653_0s.gif)
浅谈三分钟学习Java泛型中T、E、K、V、?的含义
![](https://img.aspxhome.com/file/2023/2/64372_0s.jpg)
SpringBoot嵌入式Servlet容器与定制化组件超详细讲解
![](https://img.aspxhome.com/file/2023/5/75795_0s.png)
Android实现ViewPage轮播图效果
![](https://img.aspxhome.com/file/2023/1/138961_0s.png)
Java Swing中JList选择事件监听器ListSelectionListener用法示例
![](https://img.aspxhome.com/file/2023/0/61550_0s.gif)
C#使用iCSharpcode进行文件压缩实现方法
浅谈C#设计模式之工厂模式
详解Spring Bean的集合注入和自动装配
![](https://img.aspxhome.com/file/2023/9/60829_0s.jpg)
JAVA读取属性文件的几种方法总结
Android定时器实现的几种方式整理及removeCallbacks失效问题解决
![](https://img.aspxhome.com/file/2023/9/137159_0s.gif)
Android实现ListView分页加载数据
Android多媒体应用使用MediaPlayer播放音频
![](https://img.aspxhome.com/file/2023/7/102607_0s.jpg)
Mybatis自动创建表和更新表结构
浅谈Java slf4j日志简单理解
详解Java volatile 内存屏障底层原理语义
![](https://img.aspxhome.com/file/2023/5/116225_0s.png)