婷婷综合国产,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)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 白水县| 长寿区| 庆云县| 柳江县| 双城市| 客服| 阳城县| 神木县| 靖江市| 丰顺县| 通许县| 西丰县| 交口县| 涡阳县| 怀安县| 冷水江市| 崇义县| 承德县| 井陉县| 格尔木市| 扬州市| 图片| 思南县| 怀柔区| 常州市| 怀安县| 汝南县| 佳木斯市| 松潘县| 贵南县| 丹阳市| 苍溪县| 岐山县| 黄龙县| 辽源市| 汤原县| 梁河县| 平罗县| 隆子县| 长乐市| 赫章县|