解决Springboot get请求是参数过长的情况
问题原因
Springbootget请求是参数过长抛出异常:Requestheaderistoolarge的问题
错误描述
java.lang.IllegalArgumentException:Requestheaderistoolarge
解决方案
请求头超过了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方法
请注意,查询字符串(名称/值对)是在POST请求的HTTP消息主体中发送的:
POST/test/demo_form.aspHTTP/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方式的简洁和缓存比较能说服我。
以上这篇解决Springbootget请求是参数过长的情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。