日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986

發布時間:2023/11/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

24-Mar-2017 23:43:21.300 INFO [http-apr-8001-exec-77] org.apache.coyote.http11.AbstractHttp11Processor.process 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
?? ?at org.apache.coyote.http11.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:239)
?? ?at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
?? ?at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
?? ?at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2508)
?? ?at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2497)
?? ?at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
?? ?at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
?? ?at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
?? ?at java.lang.Thread.run(Thread.java:745)

?

項目升級到新的Tomcat8

v8.0.41/ 2017-01-24 08:07
v8.0.42/ 2017-03-16 22:36

就報以上錯誤,換回老的版本

v8.0.39/ 2016-11-14 09:05

問題解決。

?

這又可能是最近官方tomcat更新出問題了...

?

還有一種可能是:

RFC3986文檔規定,Url中只允許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字符以及所有保留字符。

RFC3986中指定了以下字符為保留字符:

!*'();:@&=+$,/?#[]

?

????????不安全字符

????????還有一些字符,當他們直接放在Url中的時候,可能會引起解析程序的歧義。這些字符被視為不安全字符,原因有很多。

?

????->空格Url在傳輸的過程,或者用戶在排版的過程,或者文本處理程序在處理Url的過程,都有可能引入無關緊要的空格,或者將那些有意義的空格給去掉

????->引號以及<>引號和尖括號通常用于在普通文本中起到分隔Url的作用

????->#通常用于表示書簽或者錨點

????->%百分號本身用作對不安全字符進行編碼時使用的特殊字符,因此本身需要編碼

????->{}|\^[]`~某一些網關或者傳輸代理會篡改這些字符

?

詳細信息可參考:http://www.cnblogs.com/interdrp/p/6621559.html

URL編碼的online工具:http://meyerweb.com/eric/tools/dencoder/

?

????????Javascript 中和編解碼相關的幾對函數escape / unescape,encodeURI / decodeURI和encodeURIComponent / decodeURIComponent,可以深入一下。

?

總結

以上是生活随笔為你收集整理的Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。