public static boolean isSchemeChar(char c) {
        return Character.isLetterOrDigit(c) || c == '+' || c == '-' || c == '.';
    }
Determine if the character is allowed in the scheme of a URI.
See RFC 2396, Section 3.1

@param c the character to check
@return {@code true} if the character is allowed in a URI scheme, {@code false} otherwise.
web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletResponse.java