Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC

1 问题:

接收前端参数后台报错:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 如下图:

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC_第1张图片

2 查找原因:

  查看前端的传参情况,因项目要求是用get,参数类型是数组,提交时url自动转成带有中括号,而后台采用最流行的springboot2框架,而springboot2框架自带tomcat9,由于 Tomcat 在 7.0.73、8.0.39 和 8.5.7 版本后添加了对于 HTTP 头的验证就会产生这个错误。

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC_第2张图片

3 解决:

知道了原因,解决思路也就有了,最简单的就是改前端的传参方式,后台收到后稍处理一下即可。

 

这里由于是旧项目尽量不要 改动太大,所以小改前端传参。

总结: 

   前端和后端在传参数多或复杂的参数时最好还是用post请求。

你可能感兴趣的:(服务器,运维)