我注意到我们的 IIS 8.5401 Unauthorized
在收到未经身份验证的 HTTP 请求的标头后立即返回“ ”响应,而无需等待正文:
客户端:
POST /some/protected/page HTTP/1.1
Host: server.example.org
Content-Length: 4666
服务器,无需等待其余部分:
HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/8.5
客户继续说道:
<xml>some large XML block of 4666 bytes in total</xml>
现在,它本身并不代表问题,但我们的负载均衡器 (FortiGate v6.0.3) 决定变得聪明一些,因此在看到“ 401 Unauthorized
”响应后会丢弃请求的主体。据我了解,这会导致通过同一 TCP 管道的下一个请求失败,因为服务器将下一个字节解释为“ Content-Length: 4666
”标头承诺的有效负载。
问题:是否可以让 IIS 等待整个请求后再做出响应401
?