requestPathInvalidCharacters
指定无效字符列表,这将触发400 Bad Request
响应。默认情况下,列表包含:"<,>,*,%,&,:,\\,?"
。这包括问号和反斜杠。但就我所见,这两个角色永远不会被视为无效。
第一个问号后面的每个URL字符都将用在查询字符串中。因此,/path?foo?bar
等网址被视为有效。在此示例中,查询字符串由单个无密钥值foo?bar
组成。即使/?????
也是有效的网址。
反斜杠会自动转换为正斜杠,所以我看不出那些被认为是无效的。
答案 0 :(得分:0)
只有%
会触发错误。例如。 GET /% HTTP/1.1
因为这是一个不完整的请求。
例如: https://stackoverflow.com/%
其他一些字符会触发400响应,但您的浏览器会自动翻译它们。概念证明:
% curl -i 'http://stackoverflow.com/<'
HTTP/1.1 400 Bad Request