日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
参考文章:
https://blog.csdn.net/qiaojieqq11/article/details/51437568
https://blog.csdn.net/qq_1017097573/article/details/62235977
Tomcat报错:
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:140)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1050)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
1.Tomcat的header缓冲区大小不够,只需要在 server.xml中加上maxHttpHeaderSize="你想要的大小(单位字节)" 即可:(注意:在8080默认端口的位置上修改)
<Connector port="8080" redirectPort="8443" connectionTimeout="20000"
URIEncoding="UTF-8"
protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false"
maxHttpHeaderSize="你想要的大小(单位字节)"/>
参数解析:
maxHttpHeaderSize 客户端Http请求、响应的Header的最大限制
URIEncoding:URL编码字符集。
用指定的编码来解码uri中%xx那一部分字节,如果没有指定,默认为ISO-8859-1。
如果uri中的中文不是经过EncodeURL编码转换成%xx的格式,而是普通的编码,即没有添加额外%字符的编码方式编码的,最后解码也是用ISO-8859-1
enableLookups:关闭DNS反向查询。
useBodyEncodingForURI 默认值为false。
这指定contentType中指定的编码是否应用于URI查询参数,而不是使用URIEncoding。 此设置用于与Tomcat 4.1.x兼容,
其中contentType中指定的编码或使用Request.setCharacterEncoding方法显式设置的编码也适用于来自URL的参数。
1)此设置仅应用于请求的查询字符串。 与URIEncoding不同,它不影响请求URI的路径部分。
2)如果请求字符编码未知(不是由浏览器提供,而不是由SetCharacterEncodingFilter或使用Request.setCharacterEncoding方法的类似过滤器设置),
则默认编码始终为“ISO-8859-1”。 URIEncoding设置对此默认值没有影响。
2.如果是SpringBoot项目,则需要在application.yml文件中,进行如下修改:
server:
port: 项目端口
# 下面这个参数是为解决问题而新增的
tomcat:
max-http-header-size: 8192
或者 springBoot则是在application.properties文件中配置【server.tomcat.max-http-header-size=8192】
3.可能是因为请求协议不对,需要统一成https或http请求。