解决Springboot get请求是参数过长的情况

问题原因

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方式的简洁和缓存比较能说服我。

解决Springboot get请求是参数过长的情况相关推荐

  1. 解决Springboot GET请求参数过长的情况

    项目场景: 使用Spring Boot进行项目开发,解决Springboot GET请求参数过长的情况 问题描述 报错信息:Springboot GET请求参数过长抛出异常:Request heade ...

  2. SpringBoot - Post请求-接收参数

    一.接收Form表单数据 1.1.基本的接收方法 1.下面样例 Controller 接收 form-data 格式的 POST 数据: package com.example.demo;import ...

  3. 页面请求方法参数最长_url传值的长度限制解决办法

    今天写到两个页面传值,刚开始通过url上加参数进行传值, var strLink = "my.asp?str1=" + str1List + "&str2=&qu ...

  4. SpringBoot获取请求的参数

    说明 SpringBoot 为我们封装了许多,简便的获取请求参数的方法! 1.获取无注解获取请求参数 请求地址:http://192.168.0.115:8080/myproject/test/noA ...

  5. springboot post 请求参数过长请求接口报错 An HTTP line is larger than 4096 bytes

    springboot项目post请求参数过长请求接口报错如下: 解决办法将post请求参数值调大: server:tomcat:max-http-form-post-size: 5MB

  6. 【实习】解决请求参数过长问题

    又要解决bug啦!!! 由于前端传过来的json数据过长导致请求参数太长,最后出现空指针异常. HTTP/1.1 414 Request-URI Too Large 解决方法: 参考:Java使用GZ ...

  7. ajax请求到参数太大获取参数失败问题,Ajax请求参数较长导致请求失败

    Ajax请求参数比较长,第5行参数大概1100个字符吧,是接口的请求报文. $.ajax({ type:"POST", url:"${ctx}/test.action?m ...

  8. solr 请求参数过长报错,Solr配置maxBooleanClauses属性不生效原因分析

    博客分类: 上次已经写过一篇关于solr中,查询条件过多的异常的文章,这次在总结扩展一下: 有时候我们的查询条件会非常多,由于solr的booleanquery默认设置的条件数为1024,所以超过这个 ...

  9. 解决iframe参数过长无法加载问题小记

    项目中用到了iframe,传参的时候使用的src属性,默认采用的get方式,此种方式在参数较长的时候就会报错(404无法找到资源),为了解决这种情况,改为采用post方式提交.解决方法:结合form表 ...

最新文章

  1. GNT格式转换为PNG格式
  2. JVM:7种垃圾回收器总结
  3. 打印机每天都要重新连接
  4. 后端技术:Maven 最全知识总结,值得收藏!
  5. 阻止a链接跳转方法总结
  6. HDMI转MIPI DSI芯片方案TC358779XBG
  7. [No0000101]JavaScript-基础课程1
  8. 提交成功信息显示_上海居住证积分从提交材料,到打印通知单要多久?
  9. 【Elasticsearch】揭秘 Elasticsearch 分片分配
  10. ARM体系的异常中断
  11. win7 做服务器开网站,win7下创建Web服务器
  12. 那些让程序员炸毛的奇葩需求,说起来满满的都是泪!
  13. matlab 图像方差,Matlab方差解析var--实例说明matlab求方差
  14. 二维码扫码登录原理详解
  15. 什么是云计算数据中心互连,云计算数据中心互连是如何运作的
  16. 编程之类的文案_精选50句文案,个个都是让你灵感喷涌的句子!
  17. 线性回归2020年天猫双十一销量
  18. 给未来写封信app服务器维护中,‎App Store 上的“给未来写封信”
  19. HDFS RPC 调度策略 DecayRpcScheduler 与 BackOff
  20. 当你觉得生活快熬不下去时,请你读一读《活着》

热门文章

  1. Typora markdown公式换行等号对齐_Typora编写博客格式化文档的最佳软件
  2. html5中单选框被选中把值传给后台_HTML5的表单设计
  3. 数据管理与商业智能_商业智能与数据科学
  4. 微服务feignclient_搞微服务用阿里开源的 Nacos 真香啊
  5. 自由职业的前半年,我是如何度过的?
  6. java process exe.exec 执行exe程序
  7. Python操作MySQL的封装类
  8. Android木马分析实验,Android木马简介与分析
  9. 大学电路题目怎么搜_长沙理工大学2020真题浅析
  10. ASP.NET MVC 多语言开发简单案例