在使用Tomcat8部署项目做测试的时候,发现有的接口会报错400,后端提示在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义的错误 原因 因为日志显示请求地址中包含不合法字符,出现400错误, tomcat高版本严格按照RFC 3986规范解析地址。该规范只允许包含 a-zA-Z 0-9 - _ . ~ 以及所有保留字符 ! * ’...
1 我们先来看,是什么造成了Tomcat会报这个错误,主要在Get请求地址传参时,在url中传了一段带有特殊字符的参数,参数中有"{"不在RFC3986中的保留字段中,所以会报这个错。2 我们知道了,主要的问题是高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文...
为符合特定规范的字符,用于在互联网上传输和处理数据。这些规范确保了字符的正确解析和传输,以避免潜在的错误和安全风险。 在RFC 7230中,有效字符被定义为可见字符和一些特殊字符的组合。可见字符包括...
项目使用okhttp请求第三方接口不成功,对方服务器出现RFC 7230 and RFC 3986错误,原因如下 Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。具体来说,就是添加了些规则去限制HTTP头的规范性 org.apache.tomcat.util.http.parser.HttpParser#IS_NOT_REQUEST_TARGET[]中定义了一堆not request ta...
有效字符在RFC 7230和RFC 3986中定义 at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:213) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1108) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(...
Tomcat中出现 RFC7230andRFC3986错误的解决方法 在用axios从前台向后台发请求时,后台报错 Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 查了一下,是因为高版本tomcat中的新特性:严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了URL中只允许...
Tomcat服务器出现RFC 7230 and RFC 3986错误 使用Tomcat 7.0.82和Tomcat 8.0.48搭建的服务器发布网站,网站中存在url地址中传参,并且参数是包含中文,于是出现了以下错误: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986...
tomcat请求出现RFC7230andRFC3986的错误 问题出现: tomcat由7.0.65升级到7.0.104后出现该问题 java.lang.IllegalArgumentException:在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 原因分析: 日志显示请求地址中包含不合法字符,出现400错误 tomcat高版本严格按照RFC 3986规范解析地址。该规范只允许包含 ...
简介:IE上的 The valid characters are defined in RFC 7230 and RFC 3986 坑的解决方法 前言 日常开发中经常遇到一些莫名其妙的小问题,例如即将上线的项目在线上异常报错,但是在本地确可以正常运行。往往这猝不及防的小惊喜,真是让我们猿猿欲哭无泪啊。这里简单总结一下在IE浏览器上遇到的一个小坑,之前就因为...
简介:建议从目前的角度出发使用第三种方式降低tomcat版本就可以了,如果从长远出发的话,建议遵循RFC 7230 and RFC 3986规范,对于非保留字字符(json格式的请求参数)做转义操作。 关于The valid characters are defined in RFC 7230 and RFC 3986问题 一、背景 ...