欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IE请求无响应,服务器报异常字符-RFC7230/3986的解决办法

程序员文章站 2023-09-11 23:57:54
今天写代码的时候,遇到了服务器报异常字符-RFC7230/3986这种错误,查阅种种文章,无果,最后发现一个大神给出了解决办法 客户端:IE 服务器:tomcat 问题:有些...

今天写代码的时候,遇到了服务器报异常字符-RFC7230/3986这种错误,查阅种种文章,无果,最后发现一个大神给出了解决办法

客户端:IE

服务器:tomcat

问题:有些链接打不开,客户端显示空白或者HTTP400错误请求

分析:发现出错的链接均系直接带参数的GET,而且部分参数为中文串,作了两个尝试:a)把整个url拷贝到FF中,可以正常访问;b)把中文串改为其他英文字母数字,可以正常访问

定位:中文编码问题 处理:将GET方法直接写的中文串修改为form提交,或者将可能有中文的模板替换变量,在客户端用encodeURI方法处理,即修改格式类似"aaa.jspa=中文"的链接串为"aaa.jspa=" + encodeURI("中文") 检验:通过,所有浏览器显示正常

附:

服务器端异常stacktrace: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

atorg.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.

at

at

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.

at