解决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
猜你喜欢
- 在Android中,线程内部或者线程之间进行信息交互时经常会使用消息,这些基础的东西如果我们熟悉其内部的原理,将会使我们容易、更好地架构系统
- 有时候,我们需要制作一个Word模板文档,然后发给用户填写,但我们希望用户只能在指定位置填写内容,其他内容不允许编辑和修改。这时候我们就可以
- 在IDEA中配置log4j,步骤很简单1.在Maven中加入以下配置<dependency> <groupI
- 如下所示:String beginDate="1328007600000";SimpleDateFormat sdf=n
- Jetty和tomcat的比较Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的servlet规范和JavaEE的规范。架
- 一、打印直角三角形这个循环控制打印十行空格for (int x = 1; x <= 10; x++) {//因为要打印一个十行的直角三
- 参考视频:https://www.bilibili.com/video/BV1Bq4y1Q7GZ?p=4通过视频的学习和自身的理解整理出的笔
- 这篇文章主要介绍了java实现上传文件类型检测过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 上帝之火本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼。每次我都能联想到带来上帝之火的希腊之神,普罗米修斯。而这
- 本文实例讲述了Java泛型类与泛型方法的定义。分享给大家供大家参考,具体如下:Java泛型类的定义一 点睛泛型类定义的语法如下:[访问修饰符
- 以前就遇到过这个问题,今天重新拾起来。跑马灯效果其实就是当文字超过TextView控件宽度的时候,使用滚动的方式显示出来:方法1:(直接xm
- 本文实例为大家分享了C++实现俄罗斯方块的具体代码,供大家参考,具体内容如下先是效果图:主菜单:游戏:设置:错误处理:代码:#include
- Statement 和 PreparedStatement之间的关系和区别. 关系:Prepa
- 在linux主机部署Eureka高可用方案的时候,发现注册到服务中心的服务IP是随机的,由于主机的网卡是多个,随机的IP并不是自己想要的,上
- 本节我们主要介绍 Ribbon 的一些常用配置和配置 Ribbon 的两种方式。常用配置1. 禁用 Eureka当我们在 RestTempl
- 本文实例讲述了Android中SeekBar和RatingBar用法。分享给大家供大家参考,具体如下:什么是SeekBar?可以拖动的进度条
- 最近在做项目的时候有用到对两个集合中的元素进行对比求其交集的情况,因为涉及到的数据量比较大,所以在进行求两个集合中元素交集的时候,就应该考虑
- 阿里终面在线编程题,写出来与大家分享一下 有一个单向链表
- 一、一级缓存二级缓存的概念解释(1)一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓
- 核心考点:链表操作,临界条件检查,特殊情况处理在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针