婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > tomcat異常解決(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)

tomcat異常解決(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)

熱門標簽:比較穩定的外呼系統 ai電話機器人營銷 山東電信外呼系統靠譜嗎 400 電話 申請費用 江蘇自動外呼系統一般多少錢 信貸電銷機器人系統 云南云電銷機器人招商 長沙回撥外呼系統 鸚鵡螺號航海地圖標注時間

1.情景展示

  tomcat 日志時不時會報出如下異常信息,到底是怎么回事?

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.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:283)
    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.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    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)

  頁面無法打開

2.原因分析  

  意思是:請求頭中包含了 RFC 7230 and RFC 3986規范中定義的非法字符,在這種情況下就會導致頁面報400異常。 

  原因就是:tomcat的版本過高造成的,網上說,tomcat高于 7.0.73的版本,添加了對于http頭(請求頭)的驗證。

  get請求,即問號傳參,就是只有請求頭,沒有請求體

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

  RFC3986中指定了以下字符為保留字符:! * ' ( ) ; : @ & = + $ , / ? # [ ]

  同時RFC 3986規范在tomcat7.0.73版本中就已經提出了,RFC 7230也是對前者的一些補充或者說是完善,所以在tomcat7.0.73及以上版本都會有這種問題。 

  說明:這種情況,只在IE瀏覽器下會出現,因為IE瀏覽器不會對中文參數進行編碼,而其它類型的瀏覽器會默認自動對中文進行編碼。

3.解決方案

  方法一:降低tomcat版本;

  經過測試發現,網上關于tomcat的最高版本要求描述有誤,不是低于7.0.73就可以。

  我下載了一個tomcat7.0.70,運行項目后,還是會字符集的錯誤,導致網頁無法打開。

  但是,我測了tomcat7.0.61,完美正常運行項目,控制臺不再報錯,網頁可以正常打開了。

  64位下載地址:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.61/bin/apache-tomcat-7.0.61-windows-x64.zip

  32位下載地址:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.61/bin/apache-tomcat-7.0.61-windows-x86.zip

  方法二:將get請求改為post請求;(推薦使用)

  方法三:get請求(問號傳參)

  使用URIEncoder()函數,將中文進行編碼

以上就是tomcat異常解決(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)的詳細內容,更多關于tomcat 異常解決的資料請關注腳本之家其它相關文章!

標簽:衡陽 亳州 運城 齊齊哈爾 烏海 拉薩 澳門 嘉興

巨人網絡通訊聲明:本文標題《tomcat異常解決(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)》,本文關鍵詞  tomcat,異常,解決,Invalid,character,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《tomcat異常解決(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)》相關的同類信息!
  • 本頁收集關于tomcat異常解決(Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 扶绥县| 上思县| 独山县| 如皋市| 开平市| 滕州市| 保康县| 若尔盖县| 华容县| 宜都市| 景德镇市| 文安县| 新源县| 广丰县| 松江区| 绵阳市| 贞丰县| 景德镇市| 太白县| 宁明县| 灵山县| 延寿县| 新兴县| 瓮安县| 镇巴县| 平乡县| 三明市| 蓝田县| 松阳县| 成都市| 绿春县| 东城区| 莎车县| 临朐县| 孟津县| 吐鲁番市| 瑞丽市| 浦东新区| 集贤县| 通州区| 鄂州市|