出現The valid characters are defined in RFC 7230 and RFC 3986的原因及解決方式

xcmercy發表於2017-12-21

使用Tomcat7.0 出現Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 問題的情景、原因及解決方式。

  1.  出現問題的情景及原因:請求地址後跟的請求引數中含有中文或者某些特殊字元的時候,伺服器端直接丟擲異常,原因是自Tomcat7.0版本以後,中文和某些特殊的字元tomcat伺服器無法接收。
  2. 解決方式:頁面上需使用js的encodeURIComponent()對含有中文或某些特殊字元的引數進行url編碼,伺服器端還得進行url解碼,在tomcat的server.xml中
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> 標籤中 加一個屬性 URIEncoding="UTF-8"

相關文章